ページの先頭行へ戻る
Interstage Information IntegratorV10.0.0 システム設計ガイド

6.2.8 留意事項

6.2.8.1 データベースに共通の留意点

DB抽出およびDB格納の機能を利用した運用では、データベースの種別にかかわらず以下の点に留意してください。

入力データの文字コードおよび出力データの文字コードの指定

データボックスの文字コードは、格納先または抽出元のデータベースの文字コードと一致させてください。入力データの文字コード、および出力データの文字コードの指定に誤りがある場合、DB抽出格納の動作は保証されません。指定できる文字コードについては、“B.1.3 Information Integratorで収集できるデータベース形式”を参照してください。

なお、指定に誤りがあった場合、以下の現象が発生することがあります。

文字型のデータの利用

文字型のデータを利用する場合で、データ内に文字以外の制御コードなどが含まれるときは、フォーマット定義のレコードタイプでバイナリを選択してください。

データベースの起動

データベースは処理を行う前に起動しておく必要があります。各データベースで起動方法は異なります。詳細は各データベースのマニュアルを参照してください。

データベースが作成するログ

データベースが作成するログの領域に関する管理を行いません。データベースのログの領域に関する管理は、利用者が行ってください。ログ機能の詳細は、各データベースのマニュアルを参照してください。

同一表への同時格納

同一表に対し、同時に格納処理を行うことはできません。同時に格納処理を行おうとした場合は、後続の要求が異常終了します。

格納先列の指定について

以下の条件に該当する場合、DB14101のメッセージを出力してDB格納が異常終了します。

  1. 更新格納を実施する場合

    • 格納先表にプライマリキー、またはユニークキーとなる列が定義されていない場合

    • 格納先表のプライマリキー、またはユニークキーとなる列に対応する入力データ項目がない場合

    • 格納先表のプライマリキー、またはユニークキーとなる列に対応する入力データ項目が格納先列として指定されていない場合

  2. 格納先列として指定したすべての列がプライマリキー、またはユニークキーの場合

抽出方法および格納方法の指定について

抽出方法および格納方法の指定で、アンローダまたはローダを選択した場合、各データベースのアンローダまたはローダの仕様によりDB抽出格納ができない場合、自動的に動的SQLが選択されます。

DB抽出のフォーマット定義のレコードタイプについて

DB抽出とデータ変換を1つのプロセス定義で実行する場合、DB抽出のフォーマット定義のレコードタイプには「CSV」を指定することを推奨します。

DB格納失敗時のロールバックについて

動的SQLによるDB格納の場合、格納時にエラーが発生すると格納開始前の状態にロールバックされます。ローダを選択した場合、ロールバックは保証されません。ロールバックを期待する場合は動的SQLを選択してください。

なお、実行中にキャンセルを行った場合、ロールバックは保証されません。

シノニムについて

シノニムは利用できません。

6.2.8.2 Symfoware Serverを使用する上での留意点

DB抽出格納を利用してSymfoware Serverと連携を行う場合は、以下の運用方法に関する留意点があります。

バイナリオブジェクトのDB格納

Symfoware Serverに対してバイナリオブジェクトを格納する場合、以下の点に注意してデータ作成および運用を行ってください。

更新でのDB格納を実施する場合

格納対象となるテーブルに最低1個のプライマリキーが必要です。

DSI分割された表に対するDB格納を行う場合の留意点

DSI範囲外のデータが存在した場合、該当レコードを無視して格納処理を続行します。なお、エラーメッセージは出力されませんので、入力データと格納先表を十分確認の上、実施してください。

アンローダによるDB抽出について

以下の場合、アンローダによるDB抽出はできません。自動的に動的SQLで抽出を行います。

アンローダ、および、ローダ利用時のデータベースユーザについて

アンローダおよびローダを利用する場合、データベースユーザは、データソース定義で指定したユーザーIDではなく、Information Integratorサーバの起動ユーザーとなります。データベースの権限設定は、Information Integratorサーバの起動ユーザーに対して行ってください。

6.2.8.3 Oracleを使用する上での留意点

DB抽出格納を利用してOracleと連携を行う場合は、以下の運用方法に関する留意点があります。

DB格納で文字型データにNULL値が含まれる場合

文字型データ中にNULL値が含まれている場合は、フォーマット定義の「レコードタイプ」で「バイナリ」を選択してください。「CSV」を選択した場合、エラーメッセージ「DB14065」が発生します。

バイナリオブジェクトのDB格納

Oracleに対してバイナリオブジェクトを格納する場合、以下の点に注意してデータ作成および運用を行ってください。

ローダによるDB格納の注意事項

ローダを使用したDB格納を行う場合、以下の点に注意してください。

以下に示す現象を回避するには、格納方法として動的SQLを採用してください。

  1. 入力データ項目が整数属性または半語整数属性の場合、かつ入力データに負の最小値(それぞれ-2147483648、-32768)が含まれる場合は、NULL値として格納されます。

  2. 入力データ項目が数値属性、かつ入力データに制御文字に該当する値(「0x0A」、「0x0D」など)が含まれる場合、格納処理が異常終了することがあります。

  3. UNIXの場合、文字型データ中に制御文字に該当する値「0x0A」が含まれる場合、格納処理が異常終了します。

Oracleプロセス内スレッドのスケジューリング(Windowsの場合のみ)

WindowsでDB格納を行う場合に、動作が停止し無応答になることがあります。この現象は、Oracleプロセス内のスレッドのWindowsスケジューリング優先順位が低い場合に発生することがあります。上記の現象を回避するには、この優先順位を高くしてください。レジストリの「\HKEY_LOCAL_MACHINE\SOFTWARE\Oracle」にある「ORACLE_PRIORITY」を以下のように設定します。

ORACLE_PRIORITY:REG_EXPAND_SZ:CLASS:normal;DEF:highest

レジストリの設定については、Windowsのマニュアルを参照してください。

ローダによるパーティション指定のDB格納について

パーティションを指定した格納では、以下の留意点があります。

動的SQLによるパーティション指定のDB格納について

パーティションを指定した格納では、以下の留意点があります。

Oracle 64ビット版を使用する上でのLD_LIBRARY_PATHの設定について(Solarisのみ)

32ビットアプリケーションのライブラリを参照してください。

LD_LIBRARY_PATH=$ORACLE_HOME/lib32:$LD_LIBRARY_PATH

データベースリンクについて

データベースリンクは利用できません。

アンローダによるDB抽出について

アンローダによるDB抽出はできません。

6.2.8.4 SQL Serverを使用する上での留意点

DB抽出格納を利用してSQL Serverと連携を行う場合は、以下の運用方法に関する留意点があります。

バイナリオブジェクトのDB格納

SQL Serverに対してバイナリオブジェクトを格納する場合、以下の点に注意してデータ作成および運用を行ってください。

bcpユーティリティを使用する場合のデータベース名、スキーマ名および表名について

SQL Serverの予約語をデータベース名、スキーマ名または表名として使用した場合、bcpユーティリティによるDB抽出およびDB格納はできません。

bcpユーティリティDB格納の動作モードについて

bcpユーティリティは、高速モードまたは通常モードでの格納が可能です。なお、高速モードでの格納では、異常発生時のロールバックは行われません。

以下の条件をすべて満たす場合、高速モードで動作します。

bcpユーティリティの動作モードの切り替えは、DB格納では制御できません。また、DB格納が格納先表を生成する場合、高速モードで動作します。

DB格納時の文字列属性項目の末尾空白文字列について

文字列属性の入力データ項目の末尾空白文字列の扱いは、SQL Serverの動作に従います。SQL Serverでは、格納先列に対してNULL文字を使用可能としている場合、末尾空白文字列は切り捨てられます。格納先列に対してNULL文字を使用不可能としている場合、末尾空白文字列は格納されます。詳細については、SQL Serverのマニュアルを参照してください。

なお、DB格納が格納先表を生成する場合、格納先列に対するNULL文字の扱いは、格納先データベースの設定に従います。

DB格納時に表を自動生成する場合のNOT NULL制約について

DB格納が格納先表を生成する場合、格納先列に対するNOT NULL制約の有無は、格納先データベースの設定に依存します。したがって、格納先データベースにNOT NULL制約を付加する設定があった場合、NULL値を含むデータの格納処理は失敗します。詳細については、SQL Serverのマニュアルを参照してください。

Windows認証が設定されているSQL Serverと連携(格納または抽出)する場合について

SQL Server、およびODBCデータソースのセキュリティ設定で、認証を「Windows認証」に設定してある場合、Information Integratorサーバの動作するOS上に、環境変数「IFIDBSQLSLMODE=Win」を設定してください。

注意

この環境変数を設定することで、Information Integratorサーバの起動ユーザーで格納または抽出を実施します。データソース定義で指定したユーザーIDによる格納または抽出は行いません。

アンローダ(bcpユーティリティ)でのDB抽出について

抽出する列数が多い場合(例:500以上)、DB14204 のエラーが発生することがあります。抽出する列数が多い場合は、動的SQLでDB抽出を行ってください。

アンローダによるDB抽出について

以下の場合、アンローダによるDB抽出はできません。自動的に動的SQLで抽出を行います。

6.2.8.5 その他のデータベース(ODBC接続)を使用する上での留意点

DB抽出を利用してその他のデータベース(ODBC接続)と連携を行う場合は、以下の運用方法に関する留意点があります。

その他のデータベース(ODBC接続)利用時の動作について

その他のデータベース(ODBC接続)では、指定されたODBCドライバを使ってデータを抽出しますが、期待する動作をするかについては、利用するデータベースとODBCドライバの仕様に依存します。利用する場合には、十分な検証を行った上で、お客様の責任範囲においてご利用ください。