Klienci firmy Easysoft używają naszego sterownika Salesforce.com ODBC do pracy z danymi Salesforce.com w programie SQL Server. Trudności pojawiają się, gdy klienci próbują wstawić duże dane obiektowe do Salesforce.com z SQL Server. Na przykład próba wstawienia danych w polu opisu Produkt2:
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."
To WSTAWIANIE kończy się niepowodzeniem, na co wskazuje wynikowy komunikat o błędzie. Wydaje się, że podstawowym problemem jest to, że w przypadku niektórych metod INSERT nie można zaktualizować pola LONGVARCHAR/LONGNVARCHAR z programu SQL Server podczas korzystania z serwera połączonego opartego na ODBC. (Pole problemu, Opis, to obszar TEXTAREA Salesforce.com, który sterownik ODBC Salesforce.com zgłasza do programu SQL Server jako LONGNVARCHAR).
Jedynym sposobem, w jaki udało nam się wstawić duże dane obiektów do Salesforce.com, jest:
EXEC ('INSERT INTO Product2 ( [Name], ProductCode, [Description] ) VALUES ( ''MyProduct'', ''MP01'', ''MyProduct long description'')') AT MySalesforceLinkedServer
Przypuszczalnie ta metoda się powiedzie, ponieważ warstwa w SQL Server, która obiekty do wstawiania danych LONGVARCHAR nie jest używana. (Chociaż ta metoda nadal używa połączonego serwera, a zatem sterownika ODBC Salesforce.com.)
Zobacz też
- Wskazówki dotyczące używania SQL Server z Salesforce
- Używanie INSERT INTO z SQL Server do zmiany danych Salesforce