Une fois que vous avez connecté SQL Server à Salesforce, la façon dont vous insérez les données dépend du type de données Salesforce des colonnes cibles. Par exemple, étant donné une table Salesforce personnalisée simple contenant deux champs de texte, les deux instructions SQL suivantes sont valides :
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');
Les types de données Salesforce dont nous avons connaissance et qui nécessitent une approche alternative sont la zone de texte et la zone de texte longue. Par exemple :
INSERT INTO MYSALESFORCELINKEDSERVER.SF.DBO.Product2(Name,Description,Family) VALUES ('Easysoft ODBC-Oracle Driver', 'ODBC Driver for Oracle 8-12', 'Easysoft Data Access')
est une instruction d'insertion valide, mais échoue car SQL Server ne prend pas en charge ce qu'il tente de faire :
OLE DB provider "MSDASQL" for linked server "MYSALESFORCELINKEDSERVER" returned message "Query-based insertion or updating of BLOB values is not supported.".
et vous devez utiliser une alternative pour contourner ce problème :
EXEC ('INSERT INTO Product2 ( [Name], ProductCode, [Description] ) VALUES ( ''Easysoft ODBC-Oracle Driver'', ''ODBC Driver for Oracle 8-12'', ''Easysoft Data Access'')') AT MYSALESFORCELINKEDSERVER
Nos articles liés aux encarts sont :
- Conseils pour utiliser SQL Server avec Salesforce
- Insérer des données d'objets volumineux dans Salesforce.com à partir de SQL Server
- Utilisation de INSERT INTO à partir de SQL Server pour modifier les données Salesforce
- J'obtiens des "Erreurs générées par l'opération OLE DB en plusieurs étapes" lors de l'insertion dans un champ Salesforce maître-détail à partir de SQL Server. Que puis-je faire ?
Exemples de mise à jour :
- Mise à jour des données Salesforce avec un curseur SQL Server