Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Inserimento di dati di oggetti di grandi dimensioni in Salesforce.com da SQL Server

I clienti Easysoft utilizzano il nostro driver ODBC Salesforce.com per lavorare con i dati Salesforce.com in SQL Server. Le difficoltà sorgono quando i clienti tentano di inserire dati di oggetti di grandi dimensioni in Salesforce.com da SQL Server. Ad esempio, tentando di inserire i dati nel campo della descrizione del Prodotto2:

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."

Questo INSERT ha esito negativo, come indicato dal messaggio di errore risultante. Il problema di fondo sembra essere che per alcuni metodi INSERT, non è possibile aggiornare un campo LONGVARCHAR/LONGNVARCHAR da SQL Server quando si utilizza un server collegato basato su ODBC. (Il campo del problema, Descrizione, è una TEXTAREA di Salesforce.com, che il driver ODBC di Salesforce.com segnala a SQL Server come LONGNVARCHAR.)

L'unico modo che abbiamo trovato per inserire dati di oggetti di grandi dimensioni in Salesforce.com è:

EXEC ('INSERT INTO Product2 ( [Name], ProductCode, [Description] )
VALUES ( ''MyProduct'', ''MP01'', ''MyProduct long description'')')
AT MySalesforceLinkedServer

Presumibilmente questo metodo ha esito positivo perché il livello in SQL Server che si oppone all'inserimento di dati LONGVARCHAR non viene utilizzato. (Sebbene questo metodo utilizzi ancora un server collegato, e quindi il driver ODBC di Salesforce.com.)

Vedi anche

  • Suggerimenti per l'utilizzo di SQL Server con Salesforce
  • Utilizzo di INSERT INTO da SQL Server per modificare i dati di Salesforce