新規投稿 記事一覧 ホーム
●ご利用方法,ご利用に際しての規約はこちらをお読みください。
こちらからの投稿は、先頭に表示されているコメントへの返信になります。
RE:PRIMARY_KEYについて KUMA さん [ 5月29日(火) 16時1分 ]

    お返事ありがとうございます。

    ご指摘の通り物理FにKEYがないのは古くからの名残のようです。
    基本設計が20年以上前の基幹システムなので、クラッシュ&ビルドが早急に必要で
    今回のVB.NETでの開発もそれの足がかりなのです。

    UNIQUEキーは殆どの場合論理ファイルの1番目(FILEL01)に設定されていることが分かっていま
    す。
    しかしVBでFILEL01を指定しても実行段階で「物理ファイルでない」というエラーになってしまいま
    す。
    よって物理Fにキー設定が必要なのだと思っています。

    Iシリーズナビゲータで索引の追加は可能で論理Fとして作成されます。
    しかしPRIMARY_KEYはALTER TABLEで通常追加できると思いますが、実行してもエラーになりますし
    マニュアルを読んでもADDはありません。なぜかDROPはあります。
    http://publib.boulder.ibm.com/html/as400/v4r5/ic2962/info/db2/rbafzmstatabl.htm

    キーの設定に関係なくレコードbヘ自動的に振られていますが、これをPRIMARY_KEYには出来ないの
    でしょうか?

    物理Fの再作成しか道はないように思えてきました。

    RE:PRIMARY_KEYについて IKD さん [ 5月29日(火) 18時29分 ]

      「VBでFILEL01を指定しても実行段階で「物理ファイルでない」というエラー」と
      ありますが、そのエラー・メッセージID 等の詳細はわかりますでしょうか ?
      確かに SQL や ODBC の場合、物理ファイルと論理ファイルは明確に区別されますが
      i5/OS では基本的に論理ファイルを更新することが可能ですので
      SQL での制約があったとしても 基本的には論理ファイルからの更新もできるはずです。

      レコードbヘ DB2/400 では RRN (=レコード番号) というもので
      レコードの中の項目とは定義されていませんので出力用の項目とすることは
      できますが、キーとすることはできません。

      物理ファイルの再作成はリスクをかなり伴います。
      複数メンバーの場合や物理ファイルのサイズが拡張されていることも
      あり、また従属論理ファイルがどのような構成されているかを
      慎重に調べる必要があります。
      何より関連するプログラムへの影響も考慮しなければなりません。
      レイアウトやデータに変更がなくても、ファイルが LVLCHK=*YES で
      再作成されれば、たちまちプログラムからのアクセスは OS によって
      拒否されてしまいます。

    DDS ASD さん [ 6月1日(金) 10時56分 ]

      QDDSSRCをキー付きに変える。
      CHGPFをする。
      うまくいけば、データはそのまま、論理ファイルもそののまま。
      レベル識別も引き継ぐ。

お名前
パスワード
e-mailアドレス
タイトル
ホームページ
アドレス