The details for the SQL INSERT that was reported to us are as follows:
|Salesforce Custom Object||GP_Contract__c|
|Column||Account__c Master-Detail linking back to Account table.|
|SQL||INSERT OPENQUERY (Salesforce, 'SELECT Account__c FROM GP_Contract__c') VALUES ('001j0000001xtcMAAQ')|
The full text of the error message was:
OLE DB provider "MSDASQL" for linked server "SF" returned message "Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.". Msg 7344, Level 16, State 1, Line 1 The OLE DB provider "MSDASQL" for linked server "SF" could not INSERT INTO table "[MSDASQL]" because of column "Account__c". The user did not have permission to write to the column.
To work around this issue, log in to your Salesforce.com account and then ensure Allow reparenting is checked for the master-detail field.
In SQL Server, make sure that Allow Inprocess and Non Transacted Updates are checked in Server Objects > Linked Servers > Providers > MSDASQL. If you do need to enable these settings, you also need to restart your SQL Server instance.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.