Inserting SQL Server data into Salesforce
After you've connected SQL Server to Salesforce, how you insert data depends on the Salesforce data type of the target columns. For example, given a simple custom Salesforce table that contains two text fields, both of the following SQL statements are valid:
INSERT INTO MYSALESFORCELINKEDSERVER.SF.DBO.Test__c(Name, Mth__c) VALUES ('Test', 'Jan') INSERT OPENQUERY (MYSALESFORCELINKEDSERVER, 'SELECT Name, Mth__c FROM Test__c') VALUES ('Test 2', 'JAN');
The Salesforce data types that we're aware of that requires an alternative approach are text area and long text area. For example:
INSERT INTO MYSALESFORCELINKEDSERVER.SF.DBO.Product2(Name,Description,Family) VALUES ('Easysoft ODBC-Oracle Driver', 'ODBC Driver for Oracle 8-12', 'Easysoft Data Access')
is a valid insert statement, but fails because SQL Server does not support what it is attempting to do:
OLE DB provider "MSDASQL" for linked server "MYSALESFORCELINKEDSERVER" returned message "Query-based insertion or updating of BLOB values is not supported.".
and you need to use an alternative to work around this:
EXEC ('INSERT INTO Product2 ( [Name], ProductCode, [Description] ) VALUES ( ''Easysoft ODBC-Oracle Driver'', ''ODBC Driver for Oracle 8-12'', ''Easysoft Data Access'')') AT MYSALESFORCELINKEDSERVER
Our insert related articles are:
- Tips for using SQL Server with Salesforce
- Inserting large object data into Salesforce from SQL Server
- Using
INSERT INTO
from SQL Server to change Salesforce data - I get "Multiple-step OLE DB operation generated errors" when inserting into a master-detail Salesforce field from SQL Server. What can I do?
Update examples: