sql >> Database >  >> RDS >> Sqlserver

SQL Server 2017:CSV-gegevens importeren van Linux naar Salesforce met SSIS

SQL Server 2017 is momenteel beschikbaar als release candidate. Kort nadat SQL Server 2017 officieel is uitgebracht, zullen we een versie van onze SQL Server ODBC-driver uitbrengen die deze versie van SQL Server ondersteunt. Een pre-release van het SQL Server ODBC-stuurprogramma dat de SQL Server 2017-releasekandidaat ondersteunt, is verkrijgbaar bij het Easysoft Support-team ().

SQL Server 2017 is de eerste versie van de database die een Linux-poort bevat, die ook door de SQL Server ODBC-driver wordt ondersteund.

SQL Server 2017 Integration Services (SSIS) is onlangs overgezet naar Linux, en de rest van deze blog laat u zien hoe u een SSIS-pakket vanuit Windows migreert en uitvoert op Linux.

Het betreffende SSIS-pakket importeert productrecords uit een CSV-bestand in de Salesforce Products2-tabel. Het proces voor het maken van een Windows-pakket wordt in dit artikel beschreven.

Om het pakket van Windows naar Linux te migreren:

  1. Installeer, licentieer en test de 64-bits Linux-versie van het Salesforce ODBC-stuurprogramma op de computer waarop u de Linux-poort van SQL Server en SSIS hebt geïnstalleerd.
  2. Maak op de Linux-machine een Salesforce ODBC-gegevensbron, met dezelfde naam als de gegevensbron die u op Windows hebt gemaakt.

    Op Linux maakt u ODBC-gegevensbronnen door een tekstbestand te bewerken, dat normaal gesproken wordt opgeslagen in /etc/odbc.ini. U kunt de voorbeeldgegevensbron aanpassen, SF_SAMPLE , als je wilt, maar vergeet niet om het te hernoemen. Om de gegevensbron te migreren die in het Windows-artikel wordt beschreven, hebt u een vermelding in odbc.ini nodig, zoals:

    [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 het SSIS-pakket en CSV-bestand van de Windows-machine naar de Linux-machine.

    Opmerking We kozen voor de binaire overdrachtsmodus voor beide bestanden. Normaal gesproken zou je de ascii-overdrachtsmodus kiezen voor het CSV-bestand, maar toen we dit deden, mislukte de uitvoering van het pakket met "Het einde van het gegevensbestand is bereikt tijdens het lezen van koprijen". Misschien is dit iets wat Microsoft in de toekomst zal aanpakken of is er een alternatieve aanpak, maar hoe dan ook, dit is hoe we het probleem hebben kunnen omzeilen.

  4. Je moet de directorystructuur waarin het CSV-bestand is opgeslagen, spiegelen op Windows op de Linux-machine, waarbij je de stationsletter weglaat en \ vervangt door /. In ons geval is het CSV-bestand opgeslagen in:
    C:\Users\Administrator\Documents
    

    dus hebben we deze directorystructuur op Linux gemaakt:

    /Users/Administrator/Documents
    
  5. Om het pakket uit te voeren:
    export PATH=/opt/ssis/bin:$PATH
    dtexec /F "MyPackage.dtsx"
    

  1. Hoe u alle rechten op een database in MySQL kunt verlenen

  2. Dagen aftrekken van een datum in PostgreSQL

  3. Onbewerkte SQL-querystring ophalen uit door PDO voorbereide instructies

  4. Berekening van het aantal volledige maanden tussen twee datums in SQL