Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Einfügen von großen Objektdaten in Salesforce.com von SQL Server

Easysoft-Kunden verwenden unseren Salesforce.com-ODBC-Treiber, um mit Salesforce.com-Daten in SQL Server zu arbeiten. Es treten Schwierigkeiten auf, wenn Kunden versuchen, große Objektdaten aus SQL Server in Salesforce.com einzufügen. Versuchen Sie beispielsweise, Daten in das Beschreibungsfeld von Product2 einzufügen:

INSERT OPENQUERY (SALESFORCE, 'SELECT Name, ProductCode, Description FROM Product2')
VALUES ('LongProd', 'LP01', 'My Long Field');
OLE DB provider "MSDASQL" for linked server "SALESFORCE" returned message
"Query-based insertion or updating of BLOB values is not supported."

Dieses INSERT schlägt fehl, wie die resultierende Fehlermeldung anzeigt. Das zugrunde liegende Problem scheint zu sein, dass Sie bei einigen INSERT-Methoden ein LONGVARCHAR/LONGNVARCHAR-Feld nicht von SQL Server aktualisieren können, wenn Sie einen ODBC-basierten Verbindungsserver verwenden. (Das Problemfeld Beschreibung ist ein Salesforce.com TEXTAREA, das der Salesforce.com ODBC-Treiber als LONGNVARCHAR an SQL Server meldet.)

Der einzige Weg, den wir gefunden haben, um große Objektdaten in Salesforce.com einzufügen, ist:

EXEC ('INSERT INTO Product2 ( [Name], ProductCode, [Description] )
VALUES ( ''MyProduct'', ''MP01'', ''MyProduct long description'')')
AT MySalesforceLinkedServer

Vermutlich ist diese Methode erfolgreich, da die Ebene in SQL Server, die das Einfügen von LONGVARCHAR-Daten ablehnt, nicht verwendet wird. (Obwohl diese Methode immer noch einen Verbindungsserver und daher den ODBC-Treiber von Salesforce.com verwendet.)

Siehe auch

  • Tipps zur Verwendung von SQL Server mit Salesforce
  • Verwenden von INSERT INTO von SQL Server zum Ändern von Salesforce-Daten