データベースのデータを外部ファイルに出力する際によくある質問と、その回答について説明します。
データベースのアンロード(ファイル出力)はオンライン業務中でも可能か?
可能です。
ただし、アンロード対象のDSIを更新しているアプリケーションが存在する場合には、rdbunlコマンドは異常終了します。
また、アンロード実行中にSQL文によるDSIの更新アクセスが発生した場合には、そのSQL文は異常終了します。
参照
詳細は、“アプリケーション開発ガイド(共通編)”の“アプリケーションおよびRDBコマンド間の排他”を参照してください。
NULLを含むデータベースのデータを、テキストファイルに出力するには?
NULLを含む行(レコード)を含めて外部ファイルへ出力したい場合、rdbunlコマンドにはnオプションを指定しないでください。また、ファイルに出力した結果のNULL値の扱いは「,,」(区切り記号だけが出力される形式)になります。
参照
詳細は、“RDB運用ガイド”の“データベースの外部ファイルへの出力”、および“外部ファイルの形式”を参照してください。
ポイント
テキスト形式でアンロード、ロードする場合の注意点
テキスト形式で外部ファイル出力する場合には、以下の点に注意してください。
文字列型および可変長文字列型属性の列に、“0x00”というコードが格納されていないこと
もし文字列型属性の列に“0x00”コードが含まれていても、rdbunlコマンドで外部出力するファイル内の当該箇所には、格納されていたそのままのコード並びで出力されます。この場合、テキストエディタなどを利用してこの外部ファイルを確認しても、文字列として認識できません。また、このファイルをrdbsloaderコマンドの入力ファイルに指定して実行した場合、当該行を処理する時点でエラーとなり、処理は正常終了しないため注意してください。このようなコードを含む場合には、出力(rdbunlコマンド)・入力(rdbsloaderコマンド)時にバイナリ形式で処理するようにしてください。
rdbunlxコマンドが扱えるデータは、どのような形式ですか?また、XMLデータの整形式の条件に一致しているかの検証はrdbunlxコマンドで実施できますか?
rdbunlxコマンドで使用できるデータは、以下の形式のXMLデータです。
XMLデータの整形式の条件に一致していること
XMLデータの文字コードは、UTF-8形式であること
XMLデータの形式に誤りがあった場合、rdbunlxコマンドでは、検索対象外のデータとして扱います。rdbunlxコマンドのrオプションを指定することにより、この検索対象外のデータをファイルに出力することができます。
rdbunlxコマンドでは、整形式の条件に一致していなくても許容して動作する場合があるため、整形式の検証は完全にはしていません。
参照
詳細は、“RDB運用ガイド”の“XML検索式による検索結果を外部ファイルに出力する”および“XMLデータの形式”を参照してください。