📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

 
(同じ利用者による、間の1版が非表示)
66行目: 66行目:
== 使用例 ==
== 使用例 ==
====  カンマ区切りファイルのインポート ====
====  カンマ区切りファイルのインポート ====
* FIRSTROWオプションでヘッダ行をスキップする。
* MAXERRORSオプションでエラー許容数を設定する。
* エラーログファイルを指定する。 (問題追跡が可能)
<br>
  # CSVファイルの内容
  # CSVファイルの内容
  John,Doe,30,New York
  John,Doe,30,New York
75行目: 79行目:
  WITH
  WITH
  (
  (
     FIRSTROW = 2,                    /* ヘッダー行をスキップ */
     FIRSTROW = 2,                    /* ヘッダ行をスキップ */
     FIELDTERMINATOR = ',',            /* フィールド区切り文字 */
     FIELDTERMINATOR = ',',            /* フィールド区切り文字 */
     ROWTERMINATOR = '\n',            /* 行区切り文字 */
     ROWTERMINATOR = '\n',            /* 行区切り文字 */
84行目: 88行目:
<br>
<br>
==== タブ区切りファイルのインポート (日付フォーマット指定) ====
==== タブ区切りファイルのインポート (日付フォーマット指定) ====
* DATE_FORMATで日付形式を明示的に指定する。
* FORMATオプションでCSV形式を指定する。
<br>
  # TSVファイルの内容
  # TSVファイルの内容
  OrderID    OrderDate    CustomerID    Amount
  OrderID    OrderDate    CustomerID    Amount
102行目: 109行目:
<br>
<br>
==== 固定長フォーマットファイルのインポート ====
==== 固定長フォーマットファイルのインポート ====
* フォーマットファイルを使用して列幅を定義する。
* KEEPNULLSオプションでNULL値の処理を制御する。
<br>
  # データ例 (各フィールドが固定長)
  # データ例 (各フィールドが固定長)
  ID  NAME      DEPT
  ID  NAME      DEPT
120行目: 130行目:
<br>
<br>
==== XMLフォーマットファイルを使用したインポート ====
==== XMLフォーマットファイルを使用したインポート ====
* 詳細なデータマッピングが可能になる。
* CHECK_CONSTRAINTSオプションで制約チェックを有効化する。
* FIRE_TRIGGERSオプションでトリガー処理を制御する。
<br>
  <syntaxhighlight lang="tsql">
  <syntaxhighlight lang="tsql">
  /* より詳細なデータマッピングが必要な場合 */
  /* より詳細なデータマッピングが必要な場合 */
135行目: 149行目:
<br>
<br>
==== バッチ処理によるBULK INSERT ====
==== バッチ処理によるBULK INSERT ====
* BATCHSIZEオプションとROWS_PER_BATCHオプションでパフォーマンス最適化する。
* TABLOCKオプションでロック戦略を制御する。
* ORDER句でデータの順序を指定する。
<br>
  <syntaxhighlight lang="tsql">
  <syntaxhighlight lang="tsql">
  /* 大量データを分割してインポートする場合 */
  /* 大量データを分割してインポートする場合 */
156行目: 174行目:
   
   
  BULK INSERT T_Table
  BULK INSERT T_Table
        FROM 'D:\UnicodeFile.txt'
FROM 'D:\UnicodeFile.txt'
        WITH (
WITH (
                DATAFILETYPE    = 'char',
    DATAFILETYPE    = 'char',
                FIELDTERMINATOR = ','
    FIELDTERMINATOR = ','
        );
);
  GO
  GO
  </syntaxhighlight>
  </syntaxhighlight>
169行目: 187行目:
  /* (UTF-8固有の文字が無いUTF-8形式のファイルはインポートできる) */
  /* (UTF-8固有の文字が無いUTF-8形式のファイルはインポートできる) */
  BULK INSERT T_Table
  BULK INSERT T_Table
        FROM 'D:\UnicodeFile.txt'
FROM 'D:\UnicodeFile.txt'
        WITH (
WITH (
                DATAFILETYPE    = 'widechar',
    DATAFILETYPE    = 'widechar',
                FIELDTERMINATOR = ','
    FIELDTERMINATOR = ','
        );
);
  GO
  GO
  </syntaxhighlight>
  </syntaxhighlight>
181行目: 199行目:
  /* SQL Server 2014 R2以降では、UTF-8形式のファイルをインポートすることが出来る */
  /* SQL Server 2014 R2以降では、UTF-8形式のファイルをインポートすることが出来る */
  BULK INSERT T_Table
  BULK INSERT T_Table
        FROM 'D:\UnicodeFile.txt'
FROM 'D:\UnicodeFile.txt'
        WITH (
WITH (
                DATAFILETYPE    = 'char',
    DATAFILETYPE    = 'char',
                CODEPAGE        = '65001',
    CODEPAGE        = '65001',
                FIELDTERMINATOR = ','
    FIELDTERMINATOR = ','
        );
);
  GO
  GO
  </syntaxhighlight>
  </syntaxhighlight>