Troubleshooting - Getting Multiple-step OLE DB operation generated errors in SQL Server
Problem Description:
Trying to insert into SalesOrderLine and getting a 'Multiple-step' error.
INSERT INTO QBREMOTE...SalesOrderLine (CustomerRefListID, TemplateRefListID, SalesOrderLineItemRefFullName, SalesOrderLineQuantity, SalesOrderLineRate, SalesOrderLineTaxCodeRefListID, ClassRefListID, FQSaveToCache) VALUES ('8000343B-1393961058', '80000008-1377787801 ', 'R1', 1.0000, 500.00, '80000001-1377787801 ', '80000003-1393947522', 0)
OLE DB provider "MSDASQL" for linked server "QBREMOTE" returned message "Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.".
Msg 7343, Level 16, State 2, Line 1
The OLE DB provider "MSDASQL" for linked server "QBREMOTE" could not INSERT INTO table "[QBREMOTE]...[SalesOrderLine]".
Solutions:
You need to change "Maximum Field Name Length" value from QODBC Setup Screen>> Advanced tab to resolve "Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done." at the time of insertion.
Please follow below instruction to change "Maximum Field Name Length" value.
Start>>All Programs>> QODBC Driver for use with QuickBooks>> Configure QODBC Data Source>>Go To "System DSN" (If you are using System DSN) or "User DSN" (If you are using User DSN) Tab >> select your DSN>> click "configure">> Advanced >> "Maximum Field Name Length" change to 100.

Also, you can use openquery which is able to insert record in SalesOrderLine table:
Insert openquery(QBREMOTE,'select CustomerRefListID, TemplateRefListID,SalesOrderLineItemRefFullName,SalesOrderLineQuantity,SalesOrderLineRate,SalesOrderLineTaxCodeRefListID,FQSaveToCache from SalesOrderLine where 1=0') values ('160000-933272658', '120000-1071512690', 'Wood Door:Exterior', 1.0000, 555.00, '10000-999022286', 0)
Please refer:
How to do INSERTs, UPDATEs and DELETEs using OPENQUERY with Linked MS SQL Servers
|