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

SQL Server 2017:importando dados CSV do Linux para o Salesforce com SSIS


O SQL Server 2017 está atualmente disponível como candidato a lançamento. Logo após o lançamento oficial do SQL Server 2017, lançaremos uma versão do nosso driver ODBC do SQL Server que oferece suporte a essa versão do SQL Server. Um pré-lançamento do driver ODBC do SQL Server que dá suporte ao candidato a versão do SQL Server 2017 está disponível na equipe de suporte da Easysoft ().

O SQL Server 2017 é a primeira versão do banco de dados a incluir uma porta Linux, à qual o driver ODBC do SQL Server também oferece suporte.

O SQL Server 2017 Integration Services (SSIS) foi recentemente portado para Linux, e o restante deste blog mostrará como migrar um pacote SSIS do Windows e executá-lo no Linux.

O pacote SSIS em questão importa registros de produto de um arquivo CSV para a tabela Salesforce Products2. O processo de criação do pacote do Windows é descrito neste artigo.

Para migrar o pacote do Windows para o Linux:
  1. Instale, licencie e teste a versão Linux de 64 bits do driver ODBC do Salesforce na máquina em que você instalou a porta Linux do SQL Server e do SSIS.
  2. Na máquina Linux, crie uma fonte de dados ODBC do Salesforce com o mesmo nome da fonte de dados que você criou no Windows.
    No Linux, você cria fontes de dados ODBC editando um arquivo de texto, normalmente armazenado em /etc/odbc.ini. Você pode adaptar a fonte de dados de amostra, SF_SAMPLE , se quiser, mas lembre-se de renomeá-lo. Para migrar a fonte de dados descrita no artigo do Windows, você precisaria de uma entrada em odbc.ini como:
    [Salesforce.com]Description=Easysoft ODBC-SalesForce DriverDriver=Easysoft ODBC-SalesForceuri=https://login.salesforce.com/services/Soap/u/[email protected]=p455w0rdtoken=ABCDEF123456 
  3. FTP o pacote SSIS e o arquivo CSV da máquina Windows para a máquina Linux.
    Observação Escolhemos o modo de transferência binária para ambos os arquivos. Normalmente, você escolheria o modo de transferência ascii para o arquivo CSV, mas quando fizemos isso, a execução do pacote falhou com "O fim do arquivo de dados foi alcançado ao ler as linhas do cabeçalho". Talvez isso seja algo que a Microsoft abordará no futuro ou há uma abordagem alternativa, mas de qualquer forma, foi assim que solucionamos o problema.
  4. Você precisa espelhar a estrutura de diretórios onde o arquivo CSV está armazenado no Windows na máquina Linux, omitindo a letra da unidade e substituindo \ por /. No nosso caso, o arquivo CSV foi armazenado em:
    C:\Users\Administrator\Documents

    então criamos esta estrutura de diretórios no Linux:
    /Usuários/Administrador/Documentos
  5. Para executar o pacote:
    export PATH=/opt/ssis/bin:$PATHdtexec /F "MyPackage.dtsx"