Клиентите на Easysoft използват нашия Salesforce.com ODBC драйвер за работа с данни на Salesforce.com в SQL Server. Трудности възникват, когато клиентите се опитват да вмъкнат данни за големи обекти в Salesforce.com от SQL Server. Например опит за вмъкване на данни в полето за описание на Product2:
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."
Това INSERT е неуспешно, както е посочено от полученото съобщение за грешка. Основният проблем изглежда е, че за някои INSERT методи не можете да актуализирате поле LONGVARCHAR/LONGNVARCHAR от SQL Server, когато използвате свързан сървър, базиран на ODBC. (Проблемното поле, Описание, е TEXTAREA на Salesforce.com, който ODBC драйверът на Salesforce.com отчита на SQL Server като LONGNVARCHAR.)
Единственият начин, който открихме да вмъкнем данни за големи обекти в Salesforce.com, е:
EXEC ('INSERT INTO Product2 ( [Name], ProductCode, [Description] ) VALUES ( ''MyProduct'', ''MP01'', ''MyProduct long description'')') AT MySalesforceLinkedServer
Вероятно този метод е успешен, защото слоят в SQL Server, който възразява срещу вмъкване на LONGVARCHAR данни, не се използва. (Въпреки че този метод все още използва свързан сървър и следователно Salesforce.com ODBC драйвер.)
Вижте също
- Съвети за използване на SQL Server със Salesforce
- Използване на INSERT INTO от SQL Server за промяна на данните на Salesforce