Microsoft SQLServerのBULKINSERT関数を使用すると、SQLServerにデータをすばやく読み込むことができます。
Easysoft SQL Server ODBCドライバーを使用すると、LinuxのこのSQLServer機能を利用できます。
- Linuxマシンで、SQL Server ODBCドライバーをダウンロード、インストール、およびライセンス供与します。
インストールとライセンスの手順については、SQLServerODBCドライバーの製品ドキュメントを参照してください。
- データをロードするSQLServerインスタンスに接続するSQLServerODBCドライバーデータソースをodbc.iniに作成します。例:
[SQLSERVER_SAMPLE] Driver=Easysoft ODBC-SQL Server Description=Easysoft SQL Server ODBC driver Server=mymachine\myinstance User=mydomain\myuser Password=mypassword Database=mydatabase
-
isql
を使用する データを格納するSQLServerテーブルを作成します。例:$ /usr/local/easysoft/unixODBC/bin/isql.sh -v SQLSERVER_SAMPLE SQL> CREATE TABLE BULK_TEST ( test_id integer, test_name varchar(10) )
- SQL Serverに挿入するデータを含むファイルを作成します:
1,Apple 2,Orange 3,Plum 4,Pear
- ファイルをbulk.txtとして保存し、SQLServerインスタンスがファイルにアクセスできる場所にコピーします。
これは、SQLServerマシンまたはリモート共有フォルダーにあります。 SQL Server 2008以降では、ファイルを見つける手段としてUNC(Universal Naming Convention)パスがサポートされています。
テストでは、ファイルをSamba共有に配置しました:
\\myhost\myshare
-
isql
を使用する 一括挿入を開始します。例:SQL> BULK INSERT bulk_test FROM '\\myhost\myshare\bulk.txt' WITH ( FIELDTERMINATOR = ',', ROWTERMINATOR = '\n' )