sql >> Base de Datos >  >> RDS >> Sqlserver

SQL Server 2017:Importación de datos CSV desde Linux a Salesforce con SSIS

SQL Server 2017 está actualmente disponible como versión candidata. Poco después del lanzamiento oficial de SQL Server 2017, lanzaremos una versión de nuestro controlador ODBC de SQL Server que admita esta versión de SQL Server. Una versión preliminar del controlador ODBC de SQL Server que admite la versión candidata de SQL Server 2017 está disponible en el equipo de soporte de Easysoft ().

SQL Server 2017 es la primera versión de la base de datos que incluye un puerto Linux, que también es compatible con el controlador ODBC de SQL Server.

SQL Server 2017 Integration Services (SSIS) se migró recientemente a Linux, y el resto de este blog le mostrará cómo migrar un paquete SSIS desde Windows y ejecutarlo en Linux.

El paquete SSIS en cuestión importa registros de productos desde un archivo CSV a la tabla Salesforce Products2. El proceso de creación de paquetes de Windows se describe en este artículo.

Para migrar el paquete de Windows a Linux:

  1. Instale, obtenga la licencia y pruebe la versión de Linux de 64 bits del controlador ODBC de Salesforce en la máquina donde instaló el puerto de Linux de SQL Server y SSIS.
  2. En la máquina Linux, cree una fuente de datos ODBC de Salesforce, con el mismo nombre que la fuente de datos que creó en Windows.

    En Linux, crea fuentes de datos ODBC editando un archivo de texto, normalmente almacenado en /etc/odbc.ini. Puede adaptar la fuente de datos de muestra, SF_SAMPLE , si lo desea, pero recuerde cambiarle el nombre. Para migrar la fuente de datos descrita en el artículo de Windows, necesitaría una entrada en odbc.ini como:

    [Salesforce.com]
    Description=Easysoft ODBC-SalesForce Driver
    Driver=Easysoft ODBC-SalesForce
    uri=https://login.salesforce.com/services/Soap/u/34
    [email protected]
    password=p455w0rd
    token=ABCDEF123456
    
  3. FTP el paquete SSIS y el archivo CSV desde la máquina Windows a la máquina Linux.

    Nota Elegimos el modo de transferencia binaria para ambos archivos. Normalmente, elegiría el modo de transferencia ascii para el archivo CSV, pero cuando hicimos esto, la ejecución del paquete falló con "Se alcanzó el final del archivo de datos mientras se leían las filas del encabezado". Quizás esto es algo que Microsoft abordará en el futuro o existe un enfoque alternativo, pero de cualquier manera, así es como solucionamos el problema.

  4. Debe reflejar la estructura de directorios donde se almacena el archivo CSV en Windows en la máquina Linux, omitiendo la letra de la unidad y sustituyendo \ por /. En nuestro caso, el archivo CSV se almacenó en:
    C:\Users\Administrator\Documents
    

    así que creamos esta estructura de directorios en Linux:

    /Users/Administrator/Documents
    
  5. Para ejecutar el paquete:
    export PATH=/opt/ssis/bin:$PATH
    dtexec /F "MyPackage.dtsx"