Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Server BULK INSERT von Linux

Mit der BULK INSERT-Funktion von Microsoft SQL Server können Sie Daten schnell in SQL Server laden.

Mit dem Easysoft SQL Server ODBC-Treiber können Sie diese SQL Server-Funktion unter Linux nutzen:

  1. Laden Sie auf Ihrem Linux-Computer den SQL Server ODBC-Treiber herunter, installieren und lizenzieren Sie ihn.

    Anweisungen zur Installation und Lizenzierung finden Sie in der Produktdokumentation zum SQL Server-ODBC-Treiber.

  2. Erstellen Sie eine SQL Server-ODBC-Treiberdatenquelle in odbc.ini, die eine Verbindung zu der SQL Server-Instanz herstellt, in die Sie die Daten laden möchten. Beispiel:
    [SQLSERVER_SAMPLE]
    Driver=Easysoft ODBC-SQL Server
    Description=Easysoft SQL Server ODBC driver
    Server=mymachine\myinstance
    User=mydomain\myuser
    Password=mypassword
    Database=mydatabase
  3. Verwenden Sie isql zum Erstellen einer SQL Server-Tabelle zum Speichern der Daten. Zum Beispiel:
    $ /usr/local/easysoft/unixODBC/bin/isql.sh -v SQLSERVER_SAMPLE
    SQL> CREATE TABLE BULK_TEST ( test_id integer, test_name varchar(10) )
  4. Erstellen Sie eine Datei mit einigen Daten zum Einfügen in SQL Server:
    1,Apple
    2,Orange
    3,Plum
    4,Pear
  5. Speichern Sie die Datei als bulk.txt und kopieren Sie sie an einen Ort, an dem die SQL Server-Instanz auf die Datei zugreifen kann.

    Dies kann sich auf dem SQL Server-Computer oder in einem freigegebenen Remoteordner befinden. SQL Server 2008 und höher unterstützt UNC-Pfade (Universal Naming Convention) zum Auffinden der Datei.

    Für unseren Test haben wir die Datei auf einer Samba-Freigabe abgelegt:

    \\myhost\myshare
  6. Verwenden Sie isql um die Masseneinfügung zu initiieren. Zum Beispiel:
    SQL> BULK INSERT bulk_test FROM '\\myhost\myshare\bulk.txt' WITH ( FIELDTERMINATOR = ',', ROWTERMINATOR = '\n' )