dbload コマンドのオプション

dbload コマンドを使用してデータをロードできます。デフォルトを受け入れることも、コマンド行、制御ファイル、または環境変数を使用してオプションを指定することもできます。

構文

dbload の基本的なコマンド構文は次のようになります。
dbload [-h|-rev] [options] 

IBM® Db2® Warehouse を使用している場合、コマンドの実行方法は Db2 サポート・ツールの入手場所に応じて異なります。 コマンドを実行する方法については、Db2 サポート・ツールの概要を参照してください。

入力

入力値の優先順位は以下のとおりです。
  • コマンド行。
  • 制御ファイル。制御ファイルを使用しない場合は、一度に 1 つのロードしか実行できません。 制御ファイルを使用する場合は、複数のロードを実行できます。
  • 環境変数。 ユーザー、パスワード、データベース、およびホストを表すもののみ使用できます。
  • 組み込みのデフォルト値。

オプション名に大/小文字の区別はありません。 どのオプションにも、コマンド行または制御ファイルで使用するための標準の名前があります。

多くのオプションには引数が含まれます。 引数は一重引用符または二重引用符で囲むことができます。 コマンドは、オプションの引数に指定された英字の大/小文字の区別を無視します。例えば、-boolStyle YES_NO-boolStyle yes_no と同じです。 引数として句読文字を必要とするオプションは引用符で囲む必要があります。また、引用符が引数の一部である場合にはエスケープ文字を使用する必要があります。

コマンド・オプション

dbload コマンドには、以下のオプションを追加で指定できます。
表 1. dbload コマンドのオプション
オプション 説明
-host name ホスト名または IP アドレスを指定します (DB_HOST 環境変数の値をオーバーライドします)。 値を指定しない場合、コマンドはローカル・ホスト上で実行されます。 このオプションに localhost 以外の名前や、予約済み IP アドレス (127.0.0.1) 以外の IP アドレスを設定すると、システムにより remotesource オプションが ODBC に設定されます。
-u user データベース・ユーザー名を指定します (DB_USER 環境変数の値をオーバーライドします)。
-pw password ユーザーのパスワードを指定します (DB_PASSWORD 環境変数の値をオーバーライドします)。
-loginTimeout int-seconds ログイン・タイムアウト (秒数) を指定します。 このオプションを指定すると、デフォルト値 30 秒がオーバーライドされます。
-port number 使用するポートを指定します。これにより、デフォルトをオーバーライドできます。デフォルトは 50000 です。
-securityLevel level セッションのセキュリティー・レベルを指定します。 このオプションには、以下の 4 つの値があります。
preferredUnSecured
この値がデフォルト値です。この値は、保護されていない接続を優先するが、保護された接続がシステムで必須のときには保護された接続を受け入れる場合に指定します。
onlyUnSecured
この値は、システムに対する保護されていない接続を優先する場合に指定します。システムがセキュア接続を必要としている場合は、接続が拒否されます。
preferredSecured
このオプションは、システムに対する保護された接続を優先するが、保護されていない接続のみを使用するようにシステムが構成されているときには、保護されていない接続を受け入れる場合に指定します。
onlySecured
システムへのセキュア接続を希望する場合にこのオプションを指定します。

-securityLevel オプションに無効な値を指定した場合、デフォルトの preferredUnSecured レベルが使用されます。

-caCertFile path クライアント・システムのルート CA 証明書ファイルのパス名 を指定します。この引数は、ホスト・システムを検証するためにピア認証を使用するクライアントで使用します。デフォルト値は NULL です。 NULL の場合は、ピア認証プロセスはスキップされます。
-remoteSource <YES|GZIP> DB2 ODBC ドライバーを使用してリモート・ロードを実施します。 ローカル・ホストへのリモート・ロードを実行するために使用されます。 可能な値は、YES、GZIP です。GZIP は送信前にデータをパッケージ化します。
-db database ロードするデータベースを指定します (DB_DATABASE 環境変数の値をオーバーライドします)。
-schema schema 1 つのデータベースで複数のスキーマがサポートされるシステムの場合に、表をロードするスキーマを指定します。-schema オプションを指定しない場合、システムは DB_SCHEMA 環境変数の値 (設定されている場合) を使用します。 DB_SCHEMA 環境変数の値が設定されていない場合、システムはデータベースのデフォルトのスキーマを使用します。
-t table 表名を指定します。完全修飾名を指定できます。
ファイル:  
-cf filename 制御ファイルを指定します。
-df filename ロードするデータ・ファイルを指定します。パスを指定しない場合、システムは 特殊なトークン <stdin> を使用してファイル・パス・ストリングを保存します。このオプションは、SQL に使用できる外部表オプション DataObject に対応します。
-lf filename ログ・ファイル名を指定します。ファイルが存在する場合は、そのファイルに追加されます。
-bf filename 不良行または拒否行のファイル名を指定します。 ファイルが存在する場合、そのファイルは上書きされます。
-outputDir dir ログおよび不良行/拒否行のファイルの出力ディレクトリーを 指定します。このオプションは、SQL に使用できる外部表オプション LogDir に対応します。
-partition <statement> 外部表を複数のファイルにパーティション化します。
カウンター:  
-skipRows <n> 最初の n 個の入力行をスキップします (ロードしません) [デフォルト = 0 (なし)]
-maxRows <n> n 個の入力行を処理した後にロードを終了します [デフォルト = 0 (すべて)]
-maxErrors <n> n 個の誤った入力行を検出した後で異常終了します [デフォルト = 1]
行の構文:  
-delim <char> 連続する入力フィールド間の区切り文字 [デフォルト = ¥t]
注: フィールドの区切り文字をスペースに設定する場合は、-dateDelim を、そのデフォルト値であるスペース以外に変更する必要があります。
-ignoreZero <bool> 入力内に 2 進ゼロ・バイトがあった場合、エラーを生成するか (NO)、無視するか (YES) を定義します。

NO、FALSE / YES、TRUE [デフォルト = エラー]

-quotedValue <type> フィールドを引用符で囲まない (NO) か、オプションの [SINGLE | DOUBLE] 引用符で囲むかを定義します。

NO / YES、SINGLE、DOUBLE [デフォルト = NO、YES のデフォルト = SINGLE]

-requireQuotes ヌル値を除き、引用符を必須として指定します。デフォルトでは、引用符はオプションです。
-format <type> レコード・フォーマットを次にいずれかに指定します。

TEXT、INTERNAL、FIXED

デフォルト値は TEXT です。
-decimalDelim <char> float/double/numeric、time/timezone/timestamps の 10 進区切り文字を定義します。可能な値は '.'|',' です。

デフォルト値は '.' です。

ヌル  

-nullValue <token>

大/小文字を区別しない英数字パターンまたは ''

デフォルト値は NULL です。最大 4 文字まで入力できます。

-fillRecord 欠落している末尾の入力フィールドを NULL として処理します。列は「NULL 可能」にする必要があります。
ストリング:  
-escapeChar <char> char フィールドまたは varchar フィールドのエスケープを処理します。デフォルト値は '¥' です
-ctrlChars char フィールドまたは varchar フィールドの制御文字を受け入れます (NUL、CR、および LF をエスケープする必要があります)
-crInString char フィールドまたは varchar フィールドでエスケープされていない CR を受け入れます (LF は行末記号の用途のみになります)
-truncString 宣言された char ストレージまたは varchar ストレージを超えるストリング値を切り捨てます
-encoding <type> エンコードを定義します。使用できる値は、LATIN9、UTF8、INTERNAL です。デフォルトは INTERNAL です。
-disableNfc NFC を無効にします。
-CCSID <value> コード化文字セット ID を指定します。CCSID 仕様の 0 から 65535 の範囲の値を受け入れます。

日付:

 
-dateStyle <style> 日付のスタイルを定義します。可能な値: Y[2]MD、DMY[2]、MDY[2]、MONDY[2]、DMONY[2]。デフォルト値: YMD
-dateDelim <char> 日付コンポーネントの区切り文字を定義します [MONDY[2] = ' ' else '-']
-dateFormat <format> TIMESTAMP_FORMAT で受け入れられるストリングを使用して、日付形式を定義します。-dateStyle および -dateDelim と一緒に使用することはできません。
-y2Base <year> 2 桁の年 (Y2) dateStyle を使用して、表現可能な最初の年を定義します。

時刻:

 
-timeStyle <style> 可能な値: 24HOUR、12HOUR。デフォルト: 24HOUR
-timeDelim <char> 時刻コンポーネントの区切り文字を定義します [デフォルト = ':']
-timeFormat <format> TIMESTAMP_FORMAT で受け入れられるストリングを使用して、時刻形式を定義します。-timeStyle および -timeDelim と一緒に使用することはできません。
-timeRoundNanos マイクロ秒未満の精度でゼロ以外の数字を丸めることができます。
-timestampFormat <format> TIMESTAMP_FORMAT で受け入れられるストリングを使用して、タイム・スタンプ形式を定義します。-timeStyle-timeDelim-dateStyle、および -dateDelim と一緒に使用することはできません。

ブール値:

 
-boolStyle <style>

可能な値: 1_0、T_F、Y_N、TRUE_FALSE、YES_NO。デフォルト値は 1_0 です。

マージ  
-merge operation データ・ファイルの内容をターゲット表にマージすることを指定します。 operation に指定できる値は、以下のとおりです。
INSERT
新規行を表に挿入します。
UPDATE
表の既存行を更新します。
INSERTUPDATE
新規行を表に挿入し、表の既存行を更新します。

更新または挿入する列を選択することはできません。 また、削除の機能はありません。

特定の行を挿入するか、それとも更新するかを決定するために、-mergeSchema オプションと -mergeOn オプションの一方または両方を使用して一致条件を指定する必要もあります。 一致条件が満たされた場合 (行が表内に存在する場合)、その行は更新されます。 一致条件が満たされない場合 (行が表内に存在しない場合)、その行は挿入されます。

-mergeOn "condition" -merge オプションの一致条件またはフィルター、あるいはその両方を、SQL 式の形で指定します。
  • この一致条件により、データ・ファイル内の特定の列の値が、表内の同じ列の値に一致するかどうかが検査されます。 一致条件の形式は、以下のとおりです。
    src.column_name = table_name.column_name
    列名の修飾子として、データ・ファイルの列には src を、表の列には table_name を指定します。 データ・ファイルと表の両方に、同じ column_name 値を使用します。 次に例を示します。
    -mergeOn "src.col1 = T1.col1" 

    primary_key 値を指定して一致条件を指定しない場合は、-mergeOn オプションを使用して一致条件を指定する必要があります。 一致条件を指定するために primary_key 値と -mergeOn オプションの両方を使用した場合、それらの条件が組み合わされます。

  • フィルターを使用して、データ・ファイルとターゲット表の一方または両方のレコードのサブセットを指定できます。 列名と演算子を 1 つ以上指定します。 列名の修飾子として、データ・ファイルの列には src を、表の列には table_name を指定します。 データ・ファイルと表の両方に、同じ column_name 値を使用します。 次に例を示します。
    -mergeOn "src.col1 > 3" 
-mergeSchema "column_name data_type [primary_key]" ターゲット表のスキーマを指定し、任意で -merge オプションの一致条件も指定します。 次に例を示します。
-mergeschema "col1 int primary_key,col2 int,col3 int"
以下の規則が適用されます。
  • 表に含まれるすべての列を指定する必要がありますが、指定する名前の大/小文字は、表の名前の大/小文字と一致していなくてもかまいません。
  • 列を指定する順序は、データ・ファイル内の列の順序と一致していなければなりません。 しかし、表の列の順序とは異なっていてもかまいません。
  • 列に指定するデータ型は、表の列のデータ型に一致していなければなりません。 倍精度データ型は double_precision として指定します。
  • interval データ型はサポートされません。

primary_key 値は、一致条件として使用される値を持つ列を識別します。 この一致条件により、データ・ファイル内の特定の列の値が、表内の同じ列の値に一致するかどうかが検査されます。 例えば、col1 int primary_key と指定した場合、システムは、データ・ファイルの col1 列の値と表の col1 列の値の一致を検索します。 primary_key 値を指定しない場合は、-mergeOn オプションを使用して一致条件を指定する必要があります。 一致条件を指定するために primary_key 値と -mergeOn オプションの両方を使用した場合、それらの条件が組み合わされます。

外部ゾーン:  
-recLength <number> 外部レコード長を指定します。整数を受け入れます。デフォルト値は 'unused' です。
-recDelim <string> 外部レコード分離文字を指定します。デフォルトは 'new-line' です。
-nullIndicator レコード NULL 標識バイトが存在するかどうかを指定します。デフォルトでは 'false' に設定されます。
-layout "<zoneDefList>" 外部列ゾーン定義リストを指定します。次に例を示します。
c1 int decimal bytes 4, c2 numeric decimal ',' bytes 5, ...
基本オプション  
-h|--help|-? コマンド・ヘルプを表示します。
-rev|-Rev|-V バージョンを表示します。
-v|-verbose ロード・セッションに関する追加情報を表示します。
-dumpOpts オプションを処理した後、オプションを出力し、データをロードせずに終了します。
-gmt セッション時間を GMT タイム・ゾーンで表示します。(デフォルトでは、時刻はローカル・タイム・ゾーンです。)