Recentemente, um cliente do driver ODBC do Salesforce entrou em contato com nossa equipe de suporte para perguntar como inserir dados BLOB do SQL Server no Salesforce, onde a origem dos dados eram os resultados de uma consulta. Este blog compartilha essa solução.
Em nossa solução de exemplo, a fonte da instrução INSERT INTO era esta tabela:
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
Para inserir os dados dessa tabela do SQL Server no Salesforce, executamos:
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
Veja também
- Dicas para usar o SQL Server com o Salesforce
- Inserindo dados de objetos grandes no Salesforce.com a partir do SQL Server