Po připojení SQL Serveru k Salesforce závisí způsob vkládání dat na datovém typu Salesforce cílových sloupců. Například vzhledem k jednoduché vlastní tabulce Salesforce, která obsahuje dvě textová pole, jsou platné oba následující příkazy SQL:
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');
Datové typy Salesforce, o kterých víme, že vyžadují alternativní přístup, jsou textová oblast a oblast dlouhého textu. Například:
INSERT INTO MYSALESFORCELINKEDSERVER.SF.DBO.Product2(Name,Description,Family) VALUES ('Easysoft ODBC-Oracle Driver', 'ODBC Driver for Oracle 8-12', 'Easysoft Data Access')
je platný příkaz vložení, ale selže, protože SQL Server nepodporuje to, co se pokouší udělat:
OLE DB provider "MSDASQL" for linked server "MYSALESFORCELINKEDSERVER" returned message "Query-based insertion or updating of BLOB values is not supported.".
a k vyřešení tohoto problému musíte použít alternativu:
EXEC ('INSERT INTO Product2 ( [Name], ProductCode, [Description] ) VALUES ( ''Easysoft ODBC-Oracle Driver'', ''ODBC Driver for Oracle 8-12'', ''Easysoft Data Access'')') AT MYSALESFORCELINKEDSERVER
Naše články související s vložením jsou:
- Tipy pro používání serveru SQL Server se službou Salesforce
- Vkládání dat velkých objektů na Salesforce.com ze serveru SQL
- Použití INSERT INTO ze serveru SQL ke změně dat Salesforce
- Při vkládání do pole Master-detail Salesforce ze serveru SQL se zobrazí „chyby generované operací OLE DB s více kroky“. Co mohu dělat?
Příklady aktualizací:
- Aktualizace dat Salesforce pomocí kurzoru SQL Server