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