Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Usando INSERT INTO do SQL Server para alterar dados do Salesforce


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