Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

SQL Server BULK INSERT do Linux


A função BULK INSERT do Microsoft SQL Server permite que você carregue dados no SQL Server rapidamente.

O driver ODBC do Easysoft SQL Server permite que você aproveite esse recurso do SQL Server do Linux:
  1. Em sua máquina Linux, baixe, instale e licencie o driver ODBC do SQL Server.
    Para obter instruções de instalação e licenciamento, consulte a documentação do produto do driver ODBC do SQL Server.
  2. Crie uma fonte de dados do driver ODBC do SQL Server em odbc.ini que se conecte à instância do SQL Server na qual você deseja carregar os dados. Por exemplo:
    [SQLSERVER_SAMPLE]
    Driver=Easysoft ODBC-SQL Server
    Description=Easysoft SQL Server ODBC driver
    Server=mymachine\myinstance
    User=mydomain\myuser
    Password=mypassword
    Database=mydatabase
  3. Usar isql para criar uma tabela do SQL Server para armazenar os dados. Por exemplo:
    $ /usr/local/easysoft/unixODBC/bin/isql.sh -v SQLSERVER_SAMPLE
    SQL> CREATE TABLE BULK_TEST ( test_id integer, test_name varchar(10) )
  4. Crie um arquivo contendo alguns dados para inserir no SQL Server:
    1,Apple
    2,Orange
    3,Plum
    4,Pear
  5. Salve o arquivo como bulk.txt e copie-o em algum lugar onde a instância do SQL Server possa acessar o arquivo.
    Isso pode ser na máquina do SQL Server ou em uma pasta compartilhada remota. O SQL Server 2008 e posterior oferece suporte a caminhos UNC (Universal Naming Convention) como meio de localizar o arquivo.

    Para nosso teste, colocamos o arquivo em um compartilhamento do Samba:
    \\myhost\myshare
  6. Usar isql para iniciar a inserção em massa. Por exemplo:
    SQL> BULK INSERT bulk_test FROM '\\myhost\myshare\bulk.txt' WITH ( FIELDTERMINATOR = ',', ROWTERMINATOR = '\n' )