Hi,
I do not suspect any issue with the script. I would like to know if the auto disconenct of Linked server is the default behaviour of SQL Server ?
Here is the script.
SET NOCOUNT ON
DECLARE curOutput CURSOR FOR SELECT CustomerRefListID,TemplateRefListID,TxnDate,TermsRefListID,CustomerMsgRefListID,InvoiceLineItemRefListID,InvoiceLineQuantity,InvoiceLineRate,InvoiceLineAmount,FQSavetoCache
FROM dbo.QBQODBC_INVOICEPOSTINGDATA
WHERE CustomerRefListID IS NOT NULL
ORDER BY CustomerRefListID, FQSavetoCache DESC
DECLARE @CustomerID VARCHAR(100)
DECLARE @TemplateID VARCHAR(100)
DECLARE @TransactionDate DATETIME
DECLARE @CustomerTermsID VARCHAR(100)
DECLARE @CustomerMsgID VARCHAR(100)
DECLARE @ItemID VARCHAR(100)
DECLARE @Quantity DECIMAL(18,2)
DECLARE @Rate DECIMAL(18,2)
DECLARE @Amount DECIMAL(18,2)
DECLARE @QBFlag INT
DECLARE @i INT
SET @i = 0
OPEN curOutput
FETCH NEXT
FROM curOutput
INTO @CustomerID,@TemplateID,@TransactionDate,@CustomerTermsID,@CustomerMsgID,@ItemID,@Quantity,@Rate,@Amount,@QBFlag;
--Subroutine for QB insert
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO QREMOTE...INVOICELINE (CustomerRefListID,TemplateRefListID,TxnDate,TermsRefListID,CustomerMsgRefListID,InvoiceLineItemRefListID,
InvoiceLineQuantity,InvoiceLineRate,InvoiceLineAmount,FQSaveToCache)
VALUES( @CustomerID,
@TemplateID,
@TransactionDate,
@CustomerTermsID,
@CustomerMsgID,
@ItemID,
@Quantity,
@Rate,
@Amount,
@QBFlag )
SET @i = @i + 1
PRINT 'Transaction quantity of ' + CAST(@Quantity AS VARCHAR(12)) + ' for item ID ' + @ItemID + ' for customer ID ' + @CustomerID + ' is now posted.'
FETCH NEXT
FROM curOutput
INTO @CustomerID,
@TemplateID,
@TransactionDate,
@CustomerTermsID,
@CustomerMsgID,
@ItemID,
@Quantity,
@Rate,
@Amount,
@QBFlag ;
END
--End subroutine for QB insert
CLOSE curOutput
DEALLOCATE curOutput