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

Inserindo dados do SQL Server no Salesforce.com


Depois de conectar o SQL Server ao Salesforce, a forma como você insere os dados depende do tipo de dados do Salesforce das colunas de destino. Por exemplo, dada uma tabela personalizada simples do Salesforce que contém dois campos de texto, ambas as instruções SQL a seguir são válidas:
INSERT INTO MYSALESFORCELINKEDSERVER.SF.DBO.Test__c(Name, Mth__c)
VALUES ('Test', 'Jan')

INSERT OPENQUERY (MYSALESFORCELINKEDSERVER, 'SELECT Name, Mth__c FROM Test__c') 
VALUES ('Test 2', 'JAN'); 

Os tipos de dados do Salesforce que conhecemos que exigem uma abordagem alternativa são área de texto e área de texto longo. Por exemplo:
INSERT INTO MYSALESFORCELINKEDSERVER.SF.DBO.Product2(Name,Description,Family)
VALUES ('Easysoft ODBC-Oracle Driver', 'ODBC Driver for Oracle 8-12',
        'Easysoft Data Access')

é uma instrução de inserção válida, mas falha porque o SQL Server não oferece suporte ao que está tentando fazer:
OLE DB provider "MSDASQL" for linked server "MYSALESFORCELINKEDSERVER" returned
message "Query-based insertion or updating of BLOB values is not supported.".

e você precisa usar uma alternativa para contornar isso:
EXEC ('INSERT INTO Product2 ( [Name], ProductCode, [Description] )
VALUES ( ''Easysoft ODBC-Oracle Driver'', ''ODBC Driver for Oracle 8-12'',
         ''Easysoft Data Access'')')
AT MYSALESFORCELINKEDSERVER

Nossos artigos relacionados à inserção são:
  • Dicas para usar o SQL Server com o Salesforce
  • Inserindo dados de objetos grandes no Salesforce.com a partir do SQL Server
  • Usando INSERT INTO do SQL Server para alterar dados do Salesforce
  • Recebo "Erros gerados pela operação OLE DB de várias etapas" ao inserir em um campo do Salesforce de detalhes mestre do SQL Server. O que posso fazer?

Exemplos de atualização:
  • Atualizando dados do Salesforce com um cursor do SQL Server