Hitachi

DBPARTNER2 Client 操作ガイド


4.1.1 データを抽出する操作の手順

〈この項の構成〉

(1) 操作

DBPARTNER2を起動してサーバと接続後,データを抽出します。データの抽出は[DBPARTNER2]ウィンドウから始めます。

入力例を次に示します。

  1. [DBPARTNER2]ウィンドウで[表名(T)...]ボタンをクリックします。

    [図データ]

    [表選択]ダイアログボックスが表示され,データベース中の表が一覧で表示されます。

    [図データ]

    [詳細表示(P)]チェックボタンにチェックすると,表名以外の情報を表示できます。

    参照:「4.2.1 表一覧表示方法の設定

    表一覧には,接続先定義ファイルに指定している数まで表示できます。

    参照:「2.4.3 パラメタを指定するときの規則

  2. 表の一覧から抽出したい表の表名をクリックして,[選択(S)]ボタンをクリックします。

    複数表を結合して,データを抽出するときは,この操作を繰り返してください。選択したい表をダブルクリックしても選択できます。

    選択できる表は最大15個です。複数表を結合する場合は,表と表の関係を示す結合条件が必要です。結合条件は,[条件設定]ダイアログボックスで設定してください。

    参照:「4.1.2 抽出する表の選択

    選択した表が表示されます。

    [図データ]

    • 表を削除する場合

      [選択表一覧(A)]から削除したい表をクリックします。次に[削除(D)]ボタンをクリックします。複数の表を削除したい場合,この操作を繰り返してください。

      削除したい表をダブルクリックしても削除できます。

  3. [OK]ボタンをクリックします。

    [DBPARTNER2]ウィンドウに戻ります。

    • [表名(T)...]には,[表選択]ダイアログボックスで選択した表名が表示されます。

    • 列を設定してデータを抽出する場合,[列設定(U)...]ボタンをクリックします。

    • 条件を設定してデータを抽出する場合,[条件設定(C)...]ボタンをクリックします。

      [図データ]

  4. [列設定(U)...]ボタンをクリックします。

    [列設定]ダイアログボックスが表示されます。

    列一覧には,接続先定義ファイルに指定している数まで表示できます。

    参照:「2.4.3 パラメタを指定するときの規則

    特定の列のデータを抽出するとき,このダイアログボックスで列を設定します。列を設定後,条件も設定できます。

    参照:「4.2.4 特定の列のデータの抽出」又は「4.2.6 条件を設定したデータの抽出

    [図データ]

  5. [OK]ボタンをクリックします。

    [DBPARTNER2]ウィンドウに戻ります。

  6. [条件設定(C)...]ボタンをクリックすると,[条件設定]ダイアログボックスが表示されます。

    [列一覧(C)]には,接続先定義ファイルに指定している数まで表示できます。

    参照:「2.4.3 パラメタを指定するときの規則

    条件を設定してデータを抽出するとき,このダイアログボックスで条件を設定します。条件を設定後,列も設定できます。複数表を結合してデータを抽出する場合は,表結合条件式で結合する条件を設定してください。

    参照:「4.2.4 特定の列のデータの抽出」又は「4.2.6 条件を設定したデータの抽出

    [図データ]

  7. [OK]ボタンをクリックします。

    [DBPARTNER2]ウィンドウに戻ります。ここまでに設定した項目が表示されるので内容を確認してください。

    設定した内容を変更又は削除したい場合,[列設定]ダイアログボックス,又は[条件設定]ダイアログボックスを開いて,設定し直してください。

    設定した条件をすべて削除したい場合は,[抽出(S)]−[列情報の最新(N)]をクリックすると,最新の列情報を取得し直せます。[列情報の最新]については「4.1.4 最新列情報の取得」を参照してください。

    • [選択列]には,選択した列数が表示されます(10,000列まで表示されます)。

      表名だけ選択して列を設定していない場合には表示されません。

    • 抽出するデータの件数を制限したい場合,[件数制限(L)]欄に件数を入力します。

      参照:「4.2.8 抽出するデータの件数の制限

    • 設定した列や条件を確認したら,[DBPARTNER2]ウィンドウの[転送先(O)...]ボタンをクリックします。

      [図データ]

    [転送先設定]ダイアログボックスが表示されます。

    参照:「4.1.3 抽出したデータの転送先の設定

    • 抽出したデータの転送先として,ファイル,連携,データベース,又はクリップボードを選びます。Excelなどと連携する場合は,転送先は自動的に設定されます。

    • ファイル名を変更する場合は,[ファイル(F)]テキストボックスの設定内容を変更します。

      [図データ]

  8. [OK]ボタンをクリックします。

  9. [ファイル(F)]を選択して[...]ボタンをクリックすると,[転送先のファイル名の設定]ダイアログボックスが表示されます。

    ファイル名,ファイルの種類,フォルダ,及びドライブを入力します。

    参照:「4.1.3 抽出したデータの転送先の設定

    [図データ]

  10. [OK]ボタンをクリックします。

    [DBPARTNER2]ウィンドウに戻ります。設定した転送先が表示されます。

  11. 抽出するデータの件数を確認するときは,[件数表示(N)]をオンにします。

    [図データ]

  12. [抽出(E)]ボタンをクリックします。

    [件数表示(N)]をオンにしていると,抽出するデータの件数が,メッセージのダイアログボックスに表示されます。

    [はい(Y)]ボタンをクリックすると,このダイアログボックスが閉じてデータの抽出が開始されます。

    件数を表示しない場合は,[DBPARTNER2]ウィンドウの[抽出(E)]ボタンをクリックすれば,データの抽出を実行できます。

    [図データ]

    [抽出経過表示]ダイアログボックスが表示されます。

    ここまでに指定された内容でDBPARTNER2がデータを抽出して,転送します。

    実行経過は,グラフにパーセントで表示されます。ODBC接続で件数表示をしない場合,実行経過は件数で表示されます。抽出するデータが多いと,処理時間が長くなります。条件などを設定して必要なデータだけを抽出するようにしてください。

    [キャンセル]ボタンをクリックすると,データの抽出処理が中断されます。

  13. [抽出経過表示]ダイアログボックスは,正常に処理が終了すると自動的に閉じ,[DBPARTNER2]ウィンドウに戻ります。

これで,データの抽出と転送が終わりました。Excelにデータを転送した場合,シート上でデータを編集して,更新できます。

VOS1スプールファイル, VOSKスプールファイルからのデータの抽出

VOS1スプールファイル, VOSKスプールファイルからデータを抽出できます。[表選択]ダイアログボックスの表一覧には,次の形式で表示されます。

  • VOS1スプールファイルの場合

    ユーザ名.ジョブ名称△(ジョブ通し番号 分割番号△出力クラス△作成日付△コメント)

  • VOSKスプールファイルの場合

    ユーザ名.ジョブ名称△(ジョブ通し番号 ファイル番号△作成日付△コメント)

△は空白を意味します。

スプールファイルの場合,列設定,条件設定はできないので注意してください。

複数表を結合してデータを抽出する場合

表間の関係を示す条件(結合条件)を[条件設定]ダイアログボックスの[表結合(J)...]を使用して設定してください。例えば,表Aのa列と表Bのb列が共通であり,a列とb列のデータが同じ行を抽出したい場合には,結合条件「a=b」を[条件設定]ダイアログボックスに設定してください。設定方法については,「4.2.2 複数の表からのデータの抽出(表結合)」を参照してください。

複数表からデータを抽出するときに結合条件を設定していない表があった場合

データの抽出を確認するメッセージダイアログボックスが表示されます。抽出すると,すべての組み合わせで抽出されます。すべての組み合わせとは,結合条件を設定している表の各行に結合条件を設定していない表の全行を付けることです。例えば,結合条件が設定されていない表A(h行)と表B(i行)と表C(j行)から無条件でデータを抽出すると(h×i×j)の行が抽出されます。

詳細は,「4.2.2 複数の表からのデータの抽出(表結合)」を参照してください。

件数表示できない場合があります

列に集合関数を設定している場合,又は表結合条件式を設定している場合は,件数表示できないことがあります。

また,使用するデータベースによっても,件数表示できない場合があります。

  • DBPARTNERのODBCドライバを使用する場合に件数表示ができるデータベース

    HiRDB,ORACLE,XDM/RD,SQL Server,SQL Anywhere

抽出処理を中断した場合

それまでに抽出したデータは捨てられます。ODBC接続で他社データベースにアクセスしている場合は,中断できないことがあります。

転送先のメモリが満杯になった場合

抽出するデータが多く,転送先のメモリが満杯になった場合,メモリ分までのデータが抽出されるか,又はほかのアプリケーションのメッセージダイアログボックスが表示されます(流通ソフトウェアによって異なります)。

(2) データを抽出するときの制限

DBPARTNER2の制限で,データを抽出できない場合があります。

(3) データを抽出するときの注意

DBPARTNER2以外の制限(データベースの制限)で,データを抽出するときに注意する項目を表4-1に示します。

表4‒1 データを抽出するときに注意する項目

データベース名

注意する内容

VOS3 XDM/RD E2

「△」(半角スペース)の扱いがサーバによって異なります。このため,日本語文字列又は混在文字列中に「△」(半角スペース)があるデータに条件を設定してデータを抽出する場合,そのデータを抽出した接続形態(ODBC接続又はCommuniNet接続)を使ってください。また,このデータを更新するときも,抽出したときと同じ接続形態で更新してください。

VOSK RDB編成ファイル

  • CommuniNet接続の場合は,複数表から抽出できません。

  • 空値の扱いが異なります。通常は,空値にはデータが入っていませんが,RDB編成ファイルでは,定義時に指定した値が入っています。DBPARTNER2では,この値を空値として扱えないので,操作するときに注意してください。

補足

抽出する条件を「空値のデータ(NULL述語)」としても,実際のRDB編成ファイルの中の空値には,定義時に指定した値が入っているので,その値が抽出されます。つまり,空値とはいっても,値のあるデータが抽出されます。

VOS3 XDM/SD E2

  • CommuniNet接続の場合は,データを抽出するとき,[DBPARTNER2]ウィンドウで[列設定(U)...]ボタン,[条件設定(C)...]ボタン,[抽出(E)]ボタンをクリックすると,[パスワード設定]ダイアログボックスが表示されます。このダイアログボックスにパスワードを設定してください。

  • 複数表から抽出できません。

  • [列設定]ダイアログボックスでは,[ソート(S)...]ボタンと[集合関数(S)]ボタンは淡色で表示されていて,選べません。

VOS1 RDB1 E2

抽出する表の表ヘッダは表示されません。

VOS1 PDM II E2

VOS3 PDM II E2

  • ODBC接続のVOS1 PDM II E2の場合は,複数表から抽出できません。

  • CommuniNet接続の場合は,複数表からデータを抽出するとき,同じDBM名の表でなければ抽出できません。

  • CommuniNet接続の場合は,複数表からデータを抽出するとき,各表が同じデータセットを持たないようにしてください。ただし,表間がリンケージパスでつながっていない場合(マスタデータセット同士,又はバリアブルデータセット同士である場合)に限って,同じデータセットを持っていても抽出できます。

VOS1 PDM II E2

VOS3 PDM II E2

VOS3 RDB1

次の1〜3の条件をすべて満たしている場合は,抽出できません。

  1. 複数表から抽出した場合

  2. [列設定]ダイアログボックスで列を選択していない場合

  3. 設定した列がCLMMAXCNTパラメタの値によって削除されている場合

HiRDB

参照権限のない表が表示されることがあります。

ORACLE

参照権限のない表が表示されることがあります。

SQL Server

参照権限のない表が表示されることがあります。

Adaptive Server Anywhere

参照権限のない表が表示されることがあります。