След като сте свързали SQL Server към Salesforce, начинът, по който вмъквате данни, зависи от типа данни на Salesforce на целевите колони. Например, като се има предвид проста персонализирана таблица на Salesforce, която съдържа две текстови полета, и двете от следните 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');
Типовете данни на Salesforce, за които знаем, че изискват алтернативен подход, са текстова област и дълга текстова област. Например:
INSERT INTO MYSALESFORCELINKEDSERVER.SF.DBO.Product2(Name,Description,Family) VALUES ('Easysoft ODBC-Oracle Driver', 'ODBC Driver for Oracle 8-12', 'Easysoft Data Access')
е валиден израз за вмъкване, но не успява, защото SQL Server не поддържа това, което се опитва да направи:
OLE DB provider "MSDASQL" for linked server "MYSALESFORCELINKEDSERVER" returned message "Query-based insertion or updating of BLOB values is not supported.".
и трябва да използвате алтернатива, за да заобиколите това:
EXEC ('INSERT INTO Product2 ( [Name], ProductCode, [Description] ) VALUES ( ''Easysoft ODBC-Oracle Driver'', ''ODBC Driver for Oracle 8-12'', ''Easysoft Data Access'')') AT MYSALESFORCELINKEDSERVER
Нашите статии за вмъкване са:
- Съвети за използване на SQL Server със Salesforce
- Вмъкване на големи обектни данни в Salesforce.com от SQL Server
- Използване на INSERT INTO от SQL Server за промяна на данните на Salesforce
- Получавам „Грешки, генерирани от многоетапна OLE DB операция“ при вмъкване в полето на Salesforce с основни подробности от SQL Server. Какво мога да направя?
Примери за актуализиране:
- Актуализиране на данните на Salesforce с курсор на SQL Server