メインコンテンツへスキップ

登録動作でデータベースが見つかりません。

コメント

22件のコメント

  • nkmt

    データリポジトリ上に FIL000 という名前の物が存在しますか?

  • yamamoto

    nkmtさん、ありがとうございます。

    データリポジトリ上に FIL000 という名前の物が存在しません。

  • nkmt

    メモリから実データに登録するタスクでCtrl+Dと操作して、変な物は表示されませんか?

  • Tanda

    yamamotoさん、

    データベースのゲートウェイを確認するといいですよ。
    SQL Serverの指定になっていますか?

  • nkmt

    メモリから実データに書き込むのだと思いますが
    書き込まれるデータを
    データリポジトリでAPGしたらどうなりますか?

  • yamamoto

    nkmtさん、ありがとうございます。

    登録するタスクを開いたところ、メモリのインデックスが重複していることが分かりました。

    メモリ削除がうまくいっていないようなので見てみます。

  • nkmt

    テーブルの削除は
    ・バッチタスクで、削除モード
    ・DBDELで削除
    などで可能ですが、
    いずれの場合もその削除対象のテーブルを開いていない状況でなきゃいけません。

  • Tanda

    yamamotoさん、

    「FIL000」はPervasiveのデフォルトだったと思います。

    Pervasiveのゲートウェイがロードされていないにもかかわらず、Pervasiveファイルをオープンしようとしているのではないでしょうか?

    *Pervasiveはその後、名前がいろいろと変わっていますので注意してください。

  • nkmt

    > 「FIL000」はPervasiveのデフォルトだったと思います。
    勉強になります。

  • Tanda

    yamamotoさん、

    あるいは、SQL Serverが正しく指定されていたとしても、データソース名をあれこれ変更しているうちに、DB側の名前の変更に失敗して、ズレが生じている可能性がありますね。

  • nkmt

    xpa 3 でPervasiveのゲートウェイをINIファイル上で無効化した後、
    システムを起動し、PervasiveデータをAPGしたら
    以下になりました。

  • yamamoto

    tandaさん、

    >Pervasiveのゲートウェイがロードされていないにもかかわらず、Pervasiveファイルをオープンしようとしているのではないでしょうか?

    ゲートウェイがロードされていない状態で、特定のデータ登録だけできないということはあるのでしょうか。

  • Tanda

    yamamotoさん、

    登録しようとしているタイミングで、ゲートウェイが別の方向を向いていれば、そのデータだけそうなりますね。

  • yamamoto

    nkmtさん、

    >テーブルの削除は ・バッチタスクで、削除モード・DBDELで削除ということですが

    現在、レコード後でDbDel(データ番号,'')にてメモリテーブルを削除しているのですが

    DbDel関数だから、というのはありますか?

  • nkmt

    アクション 式=DBDel(  '123'DSource, '' )
    といった具合に リテラル を付けた方がいいですね。

    アクション 式=DBDel(  '123', '' )  だと、
    データリポジトリの番号がずれた際、プログラム側が追随してくれません。

    Dbdelの次の行で
    エラー 警告 式=STR(DBRECS('123'dsource,’’),’6’)等で
    レコードが0件になっているかの確認をするのもいいと思います。
    DBDelしたのに、レコード件数が0じゃないのはおかしいので。

    あと普段使っておりませんが、アクション 式・・・・戻り値の設定もあったように思います。

  • nkmt

    データリポジトリ上で
    WF(メモリテーブル)をAPG
    実データ(SQL Server)をAPGするとどうなりますか?

  • yamamoto

    tandaさん、nkmtさんありがとうございます。

    色々試してみます。

  • yamamoto

    nkmtさん、データリポジトリでのAPG表示をすると実データの方でインデックスの重複表示が出ました。

    色々試してみましたが、よくわからず今は一から作り直しています。

  • nkmt

    実データをAPG表示するだけでインデックス重複エラーが出るという体験はした事はないですね。

  • Tanda

    yamamotoさん、

    テーブルをAPGで開いただけでインデックス重複エラーが出るということは、物理的にあり得ないです。なぜならば、インデックスが重複していればデータの登録すらできないからです。

    考えられるのは次の2点ですね。
    1. テーブルを開いた後、インデックスの重複しているデータを登録しようとした。
    2. テーブルが、あり得ないほど破損している。

     

  • nkmt

    yamamotoさん
    それと実データはActian、Pervasive、SQL Server、ORACLEなど
    何なのかも最初に添えて投稿するのをお勧めします。

  • yamamoto

    tandaさん、nkmtさんお二人ともありがとうございました。

    作り直してデータベースエラーは表示されないようになりました。

    tandaさんの

    >2. テーブルが、あり得ないほど破損している。が可能性としては考えられそうでした。

    nkmtさん、アドバイスありがとうございます。気を付けます。

サインインしてコメントを残してください。