Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

SQL Server 2017:importazione di dati CSV da Linux a Salesforce con SSIS

SQL Server 2017 è attualmente disponibile come release candidate. Poco dopo il rilascio ufficiale di SQL Server 2017, rilasceremo una versione del nostro driver ODBC di SQL Server che supporta questa versione di SQL Server. Una versione preliminare del driver ODBC di SQL Server che supporta la versione candidate di SQL Server 2017 è disponibile presso il team di supporto Easysoft ().

SQL Server 2017 è la prima versione del database a includere una porta Linux, supportata anche dal driver ODBC di SQL Server.

SQL Server 2017 Integration Services (SSIS) è stato recentemente portato su Linux e il resto di questo blog ti mostrerà come migrare un pacchetto SSIS da Windows ed eseguirlo su Linux.

Il pacchetto SSIS in questione importa i record del prodotto da un file CSV nella tabella Salesforce Products2. Il processo di creazione del pacchetto Windows è descritto in questo articolo.

Per migrare il pacchetto da Windows a Linux:

  1. Installa, concede in licenza e verifica la versione Linux a 64 bit del driver Salesforce ODBC sul computer in cui è stata installata la porta Linux di SQL Server e SSIS.
  2. Nella macchina Linux, creare un'origine dati Salesforce ODBC, con lo stesso nome dell'origine dati creata su Windows.

    Su Linux, crei origini dati ODBC modificando un file di testo, normalmente archiviato in /etc/odbc.ini. Puoi adattare l'origine dati di esempio, SF_SAMPLE , se ti va, ma ricordati di rinominarlo. Per migrare l'origine dati descritta nell'articolo di Windows, è necessaria una voce in odbc.ini come:

    [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 il pacchetto SSIS e il file CSV dalla macchina Windows alla macchina Linux.

    Nota Abbiamo scelto la modalità di trasferimento binario per entrambi i file. Normalmente sceglieresti la modalità di trasferimento ascii per il file CSV, ma quando lo abbiamo fatto l'esecuzione del pacchetto non è riuscita con "La fine del file di dati è stata raggiunta durante la lettura delle righe di intestazione". Forse questo è qualcosa che Microsoft affronterà in futuro o esiste un approccio alternativo, ma in entrambi i casi è così che abbiamo risolto il problema.

  4. È necessario eseguire il mirroring della struttura della directory in cui è archiviato il file CSV su Windows sulla macchina Linux, omettendo la lettera di unità e sostituendo \ per /. Nel nostro caso, il file CSV è stato archiviato in:
    C:\Users\Administrator\Documents
    

    quindi abbiamo creato questa struttura di directory su Linux:

    /Users/Administrator/Documents
    
  5. Per eseguire il pacchetto:
    export PATH=/opt/ssis/bin:$PATH
    dtexec /F "MyPackage.dtsx"