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

SQL Server BULK INSERT desde Linux

La función BULK INSERT de Microsoft SQL Server le permite cargar datos en SQL Server rápidamente.

El controlador ODBC de Easysoft SQL Server le permite aprovechar esta función de SQL Server desde Linux:

  1. En su máquina Linux, descargue, instale y obtenga la licencia del controlador ODBC de SQL Server.

    Para obtener instrucciones de instalación y licencia, consulte la documentación del producto del controlador ODBC de SQL Server.

  2. Cree una fuente de datos del controlador ODBC de SQL Server en odbc.ini que se conecte a la instancia de SQL Server en la que desea cargar los datos. Por ejemplo:
    [SQLSERVER_SAMPLE]
    Driver=Easysoft ODBC-SQL Server
    Description=Easysoft SQL Server ODBC driver
    Server=mymachine\myinstance
    User=mydomain\myuser
    Password=mypassword
    Database=mydatabase
  3. Utilice isql para crear una tabla de SQL Server para almacenar los datos. Por ejemplo:
    $ /usr/local/easysoft/unixODBC/bin/isql.sh -v SQLSERVER_SAMPLE
    SQL> CREATE TABLE BULK_TEST ( test_id integer, test_name varchar(10) )
  4. Cree un archivo que contenga algunos datos para insertar en SQL Server:
    1,Apple
    2,Orange
    3,Plum
    4,Pear
  5. Guarde el archivo como bulk.txt y cópielo en algún lugar donde la instancia de SQL Server pueda acceder al archivo.

    Esto puede estar en la máquina de SQL Server o en una carpeta compartida remota. SQL Server 2008 y versiones posteriores admiten rutas UNC (Convención de nomenclatura universal) como medio para ubicar el archivo.

    Para nuestra prueba, colocamos el archivo en un recurso compartido de Samba:

    \\myhost\myshare
  6. Utilice isql para iniciar la inserción masiva. Por ejemplo:
    SQL> BULK INSERT bulk_test FROM '\\myhost\myshare\bulk.txt' WITH ( FIELDTERMINATOR = ',', ROWTERMINATOR = '\n' )