Di recente un cliente di un driver ODBC Salesforce ha contattato il nostro team di supporto per chiedere come inserire i dati BLOB di SQL Server in Salesforce, dove l'origine dei dati era il risultato di una query. Questo blog condivide questa soluzione.
Nella nostra soluzione di esempio, l'origine dell'istruzione INSERT INTO era questa tabella:
create table NewProducts ( "Name" nvarchar(30), ProductCode nvarchar(10), Description nvarchar(max)) insert into NewProducts values ( 'Easysoft ODBC-Salesforce Driver', 'EAS01', 'ODBC Driver for Salesforce.com. Available for Linux, Unix and Windows.' ) insert into NewProducts values ( 'Easysoft ODBC-SQL Server Driver', 'EAS02', 'ODBC Driver for SQL Server. Available for Linux, Unix and Windows.' ) insert into NewProducts values ( 'Easysoft ODBC-Oracle Driver', 'EAS03', 'ODBC Driver for Oracle. Available for Linux, Unix and Windows.' ) select * from NewProducts
Per inserire i dati da questa tabella di SQL Server in Salesforce, abbiamo eseguito:
declare @Name nvarchar(30) declare @ProductCode nvarchar(10) declare @Description nvarchar(max) declare ins_cursor cursor for select "Name", ProductCode, Description from NewProducts open ins_cursor fetch next from ins_cursor into @Name, @ProductCode, @Description while @@FETCH_STATUS=0 Begin exec ('insert into Product2 ( "Name", ProductCode, Description ) Values (?, ?, ?)', @Name, @ProductCode, @Description ) at MySalesforceLinkedServer fetch next from ins_cursor into @Name, @ProductCode, @Description End close ins_cursor deallocate ins_cursor
Vedi anche
- Suggerimenti per l'utilizzo di SQL Server con Salesforce
- Inserimento di dati di oggetti di grandi dimensioni in Salesforce.com da SQL Server