När du har anslutit SQL Server till Salesforce, beror hur du infogar data på Salesforce-datatypen för målkolumnerna. Till exempel, givet en enkel anpassad Salesforce-tabell som innehåller två textfält, är båda följande SQL-satser giltiga:
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');
De Salesforce-datatyper som vi är medvetna om som kräver ett alternativt tillvägagångssätt är textområde och långt textområde. Till exempel:
INSERT INTO MYSALESFORCELINKEDSERVER.SF.DBO.Product2(Name,Description,Family) VALUES ('Easysoft ODBC-Oracle Driver', 'ODBC Driver for Oracle 8-12', 'Easysoft Data Access')
är en giltig infogningssats, men misslyckas eftersom SQL Server inte stöder vad den försöker göra:
OLE DB provider "MSDASQL" for linked server "MYSALESFORCELINKEDSERVER" returned message "Query-based insertion or updating of BLOB values is not supported.".
och du måste använda ett alternativ för att komma runt detta:
EXEC ('INSERT INTO Product2 ( [Name], ProductCode, [Description] ) VALUES ( ''Easysoft ODBC-Oracle Driver'', ''ODBC Driver for Oracle 8-12'', ''Easysoft Data Access'')') AT MYSALESFORCELINKEDSERVER
Våra inläggsrelaterade artiklar är:
- Tips för att använda SQL Server med Salesforce
- Infoga data om stora objekt i Salesforce.com från SQL Server
- Använda INSERT INTO från SQL Server för att ändra Salesforce-data
- Jag får "Flerstegs OLE DB-operation genererade fel" när jag infogar i ett Salesforce-fält med huvuddetalj från SQL Server. Vad kan jag göra?
Uppdateringsexempel:
- Uppdatera Salesforce-data med en SQL Server-markör