Klanten van Easysoft gebruiken ons Salesforce.com ODBC-stuurprogramma om met Salesforce.com-gegevens in SQL Server te werken. Er doen zich problemen voor wanneer klanten grote objectgegevens proberen in te voegen in Salesforce.com vanuit SQL Server. Als u bijvoorbeeld probeert gegevens in het veld Product2 description in te voeren:
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."
Deze INSERT mislukt, zoals aangegeven door de resulterende foutmelding. Het onderliggende probleem lijkt te zijn dat u voor sommige INSERT-methoden een LONGVARCHAR/LONGNVARCHAR-veld niet kunt bijwerken vanuit SQL Server wanneer u een op ODBC gebaseerde gekoppelde server gebruikt. (Het probleemveld, Beschrijving, is een Salesforce.com TEXTAREA, die het Salesforce.com ODBC-stuurprogramma rapporteert aan SQL Server als een LONGNVARCHAR.)
De enige manier die we hebben gevonden om grote objectgegevens in Salesforce.com in te voegen, is:
EXEC ('INSERT INTO Product2 ( [Name], ProductCode, [Description] ) VALUES ( ''MyProduct'', ''MP01'', ''MyProduct long description'')') AT MySalesforceLinkedServer
Vermoedelijk slaagt deze methode omdat de laag in SQL Server die bezwaar maakt tegen het invoegen van LONGVARCHAR-gegevens niet wordt gebruikt. (Hoewel deze methode nog steeds een gekoppelde server gebruikt, en dus het Salesforce.com ODBC-stuurprogramma.)
Zie ook
- Tips voor het gebruik van SQL Server met Salesforce
- INSERT INTO van SQL Server gebruiken om Salesforce-gegevens te wijzigen