sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server BULK INSERT från Linux

Microsoft SQL Servers BULK INSERT-funktion gör att du snabbt kan ladda data till SQL Server.

Easysoft SQL Server ODBC-drivrutinen låter dig dra fördel av denna SQL Server-funktion från Linux:

  1. Hämta, installera och licensiera SQL Server ODBC-drivrutinen på din Linux-maskin.

    För installations- och licensinstruktioner, se SQL Server ODBC-drivrutinens produktdokumentation.

  2. Skapa en SQL Server ODBC-drivrutinsdatakälla i odbc.ini som ansluter till den SQL Server-instans som du vill ladda data till. Till exempel:
    [SQLSERVER_SAMPLE]
    Driver=Easysoft ODBC-SQL Server
    Description=Easysoft SQL Server ODBC driver
    Server=mymachine\myinstance
    User=mydomain\myuser
    Password=mypassword
    Database=mydatabase
  3. Använd isql för att skapa en SQL Server-tabell för att lagra data. Till exempel:
    $ /usr/local/easysoft/unixODBC/bin/isql.sh -v SQLSERVER_SAMPLE
    SQL> CREATE TABLE BULK_TEST ( test_id integer, test_name varchar(10) )
  4. Skapa en fil som innehåller vissa data att infoga i SQL Server:
    1,Apple
    2,Orange
    3,Plum
    4,Pear
  5. Spara filen som bulk.txt och kopiera den någonstans där SQL Server-instansen kan komma åt filen.

    Detta kan vara på SQL Server-datorn eller på en delad fjärrmapp. SQL Server 2008 och senare stöder UNC-sökvägar (Universal Naming Convention) som ett sätt att hitta filen.

    För vårt test placerade vi filen på en Samba-resurs:

    \\myhost\myshare
  6. Använd isql för att initiera bulkinsatsen. Till exempel:
    SQL> BULK INSERT bulk_test FROM '\\myhost\myshare\bulk.txt' WITH ( FIELDTERMINATOR = ',', ROWTERMINATOR = '\n' )

  1. Kör Vitess och MySQL med ClusterControl

  2. Skapa en PostgreSQL-användare och lägga till dem i en databas

  3. Databastjänster på AWS och Oracle Cloud Platform

  4. Problem med att bygga cx_Oracle - libclntsh.so.11.1 => hittades inte