Dopo aver connesso SQL Server a Salesforce, la modalità di inserimento dei dati dipende dal tipo di dati Salesforce delle colonne di destinazione. Ad esempio, data una semplice tabella Salesforce personalizzata che contiene due campi di testo, sono valide entrambe le seguenti istruzioni 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');
I tipi di dati Salesforce di cui siamo a conoscenza che richiedono un approccio alternativo sono l'area di testo e l'area di testo lunga. Ad esempio:
INSERT INTO MYSALESFORCELINKEDSERVER.SF.DBO.Product2(Name,Description,Family) VALUES ('Easysoft ODBC-Oracle Driver', 'ODBC Driver for Oracle 8-12', 'Easysoft Data Access')
è un'istruzione di inserimento valida, ma non riesce perché SQL Server non supporta ciò che sta tentando di fare:
OLE DB provider "MSDASQL" for linked server "MYSALESFORCELINKEDSERVER" returned message "Query-based insertion or updating of BLOB values is not supported.".
e devi usare un'alternativa per aggirare questo problema:
EXEC ('INSERT INTO Product2 ( [Name], ProductCode, [Description] ) VALUES ( ''Easysoft ODBC-Oracle Driver'', ''ODBC Driver for Oracle 8-12'', ''Easysoft Data Access'')') AT MYSALESFORCELINKEDSERVER
I nostri articoli relativi agli inserti sono:
- Suggerimenti per l'utilizzo di SQL Server con Salesforce
- Inserimento di dati di oggetti di grandi dimensioni in Salesforce.com da SQL Server
- Utilizzo di INSERT INTO da SQL Server per modificare i dati di Salesforce
- Ricevo "Errori generati da operazioni OLE DB in più passaggi" quando inserisco un campo Salesforce con dettagli master da SQL Server. Cosa posso fare?
Esempi di aggiornamento:
- Aggiornamento dei dati di Salesforce con un cursore di SQL Server