「SQL Server - BULK INSERT」の版間の差分

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
編集の要約なし
編集の要約なし
37行目: 37行目:
<br><br>
<br><br>


 
__FORCETOC__
[[カテゴリ:SQL_Server]]
[[カテゴリ:SQL_Server]]

2019年7月5日 (金) 04:58時点における版

概要

SQL Serverにおいて、ユーザが指定した形式でデータベーステーブルまたはビューにデータファイルをインポートしたい時がある。
テキストファイルまたはCSVファイルをインポートする時、BULK INSERT文を使用する。

BULK INSERTの例

下記は、CSVファイル(カンマ区切り)をインポートする際の例である。

  • 文字コードがShift-JISの場合
BULK INSERT T_Table
        FROM 'D:\UnicodeFile.txt'
        WITH (
                DATAFILETYPE    = 'char',
                FIELDTERMINATOR = ','
        );
GO


  • 文字コードがUNICODEの場合(SQL Server 2014 R2以前)
ただし、SQL Server 2014 R2以前では、下記のクエリを実行しても UTF-8形式のファイルは取り込めない。
(UTF-8固有の文字が無いUTF-8形式のファイルはインポートできる)
BULK INSERT T_Table
        FROM 'D:\UnicodeFile.txt'
        WITH (
                DATAFILETYPE    = 'widechar',
                FIELDTERMINATOR = ','
        );
GO


  • 文字コードがUTF-8の場合(SQL Server 2014 R2以降)
SQL Server 2014 R2以降では、UTF-8形式のファイルをインポートすることが出来る。
BULK INSERT T_Table
        FROM 'D:\UnicodeFile.txt'
        WITH (
                DATAFILETYPE    = 'char',
                CODEPAGE        = '65001',
                FIELDTERMINATOR = ','
        );
GO