Nachdem Sie SQL Server mit Salesforce verbunden haben, hängt das Einfügen von Daten vom Salesforce-Datentyp der Zielspalten ab. Beispielsweise sind bei einer einfachen benutzerdefinierten Salesforce-Tabelle mit zwei Textfeldern die beiden folgenden SQL-Anweisungen gültig:
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');
Die uns bekannten Salesforce-Datentypen, die einen alternativen Ansatz erfordern, sind Textbereich und Langtextbereich. Zum Beispiel:
INSERT INTO MYSALESFORCELINKEDSERVER.SF.DBO.Product2(Name,Description,Family) VALUES ('Easysoft ODBC-Oracle Driver', 'ODBC Driver for Oracle 8-12', 'Easysoft Data Access')
ist eine gültige Einfügeanweisung, schlägt jedoch fehl, weil SQL Server das, was es zu tun versucht, nicht unterstützt:
OLE DB provider "MSDASQL" for linked server "MYSALESFORCELINKEDSERVER" returned message "Query-based insertion or updating of BLOB values is not supported.".
und Sie müssen eine Alternative verwenden, um dies zu umgehen:
EXEC ('INSERT INTO Product2 ( [Name], ProductCode, [Description] ) VALUES ( ''Easysoft ODBC-Oracle Driver'', ''ODBC Driver for Oracle 8-12'', ''Easysoft Data Access'')') AT MYSALESFORCELINKEDSERVER
Unsere beilagenbezogenen Artikel sind:
- Tipps zur Verwendung von SQL Server mit Salesforce
- Einfügen von großen Objektdaten in Salesforce.com von SQL Server
- Verwenden von INSERT INTO von SQL Server zum Ändern von Salesforce-Daten
- Beim Einfügen in ein Master-Detail-Salesforce-Feld von SQL Server erhalte ich „Fehler, die von einem mehrstufigen OLE DB-Vorgang generiert wurden“. Was kann ich tun?
Aktualisierungsbeispiele:
- Aktualisieren von Salesforce-Daten mit einem SQL Server-Cursor