Når du har tilsluttet SQL Server til Salesforce, afhænger hvordan du indsætter data af Salesforce-datatypen for målkolonnerne. For eksempel, givet en simpel brugerdefineret Salesforce-tabel, der indeholder to tekstfelter, er begge følgende SQL-sætninger gyldige:
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 er klar over, og som kræver en alternativ tilgang, er tekstområde og langt tekstområde. For eksempel:
INSERT INTO MYSALESFORCELINKEDSERVER.SF.DBO.Product2(Name,Description,Family) VALUES ('Easysoft ODBC-Oracle Driver', 'ODBC Driver for Oracle 8-12', 'Easysoft Data Access')
er en gyldig insert-sætning, men mislykkes, fordi SQL Server ikke understøtter det, den forsøger at gøre:
OLE DB provider "MSDASQL" for linked server "MYSALESFORCELINKEDSERVER" returned message "Query-based insertion or updating of BLOB values is not supported.".
og du skal bruge et alternativ for at omgå dette:
EXEC ('INSERT INTO Product2 ( [Name], ProductCode, [Description] ) VALUES ( ''Easysoft ODBC-Oracle Driver'', ''ODBC Driver for Oracle 8-12'', ''Easysoft Data Access'')') AT MYSALESFORCELINKEDSERVER
Vores indlægsrelaterede artikler er:
- Tips til brug af SQL Server med Salesforce
- Indsættelse af store objektdata i Salesforce.com fra SQL Server
- Brug af INSERT INTO fra SQL Server til at ændre Salesforce-data
- Jeg får "Fleretrins OLE DB-operationsgenererede fejl", når jeg indsætter i et Salesforce-felt med masterdetaljer fra SQL Server. Hvad kan jeg gøre?
Opdateringseksempler:
- Opdatering af Salesforce-data med en SQL Server-markør