【解決済】新規登録できません
Magic xpa 4Plus + Actian Zen v14 Workgroup 開発ライセンスの環境で、APGすると実行できるデータと「新規登録できません。:(データソース名)」と表示されて実行できないデータがあります。
解決方法などご存知でしょうか。
※すでにデータファイルがある場合は、APG実行できます。
データベース特性の設定で「開発モードでのテーブル変換」にはチェックが入っています。
DBMSをMemoryに変えると実行できます。
数字型の1カラムのみのデータを作成⇒APG実行失敗
⇒前述の成功するデータは数字型のカラムだけで構成されたデータもあります。
文字型の1カラムのみのデータを作成⇒APG実行成功
-
Kokuboさん、
データリポジトリでのF8チェックは通りますか?
-
Tanda様
返信が遅くなり申し訳ございません。
F8チェックは通ります。
-
こんにちはPuです。
Actian Zen(PVS)はファイルですのでMagicを実行しているユーザーにそのフォルダにファイル作成権限が
ないと同様のケースになります。
でわ~でわ~ -
Pu様
コメントありがとうございます。
テキストデータの作成ができるので作成権限は問題ないと思っております。
(APG実行で新規にファイル作成できるデータもあります。)
-
Kokuboさん、
ファイルを作成しようとしているところのパスは存在していますか?
あるいは、ファイル名が重複しているということはありませんか? -
Tanda様
パスは存在しています。
→ファイルがあった場合は、APGは実行できます。
フォルダを空でもエラーとなります。
-
Kokuboさん、
Pervasiveはもうしばらく使ってないのですぐに確認はできないのですが、下図に似たような設定箇所はありませんか?SQLの場合ですと、ここにチェックが入っていないとテーブルの新規作成ができません。

-
Pervasive等の場合、テーブルの存在チェック欄は、操作不要になるかもです。
文章訂正 → 操作不可になるみたいです。
-
質問投稿者ではありませんが、以下も関係しますかね??

-
Tanda様
nkmt様のおっしゃる通り操作不可となっております。
-
nkmt様
DBMSの「テーブルの存在チェック」はOFFでした。
ONにしても変化はありませんでした。
-
Kokuboさん、
DBMSテーブルには「Btrieve」という行と「Pervasive」という行の2つがありますが、両方とも「テーブルの存在チェック」をONにしても駄目ですか?
-
Tanda様
両方ともONにしましたがダメでした。
-
Kokuboさん、
成功するテーブルもあるとのことですが、試しにそのテーブルのファイルを一旦削除して、テーブルが存在しない状態にして、もう一度APGするとどうなるか試してみてはいかがですか?
-
Kokuboさん、
削除する場合は、事前にバックアップを必ず取ってくださいね。
-
Tanda様
私の事前情報提供不足でした。
質問前に確認しておりました。
成功するテーブルもファイル自体を削除すると成功するものとしないものがデータがあります。
名前をリネーム、フォルダ先を変更しても結果は変わらずです。
→バックアップしていたファイルを所定の位置に置くと成功します。
-
Kokuboさん、
というこことは、DBMS周りの環境設定自体は正しくて、そのテーブル固有の問題ということになりますね。Magic側の定義とPervasive側の定義がずれているか、あるいは何らかの制約事項に引っかかっていることが考えられますね。
「数字型の1カラムのみ」というあたりが怪しいかもしれませんので、文字型も含めた複数カラムでテーブルを定義して試してみてはいかがでしょうか?
-
Tanda様
「数字型の1カラムのみ」は検証で作ったデータだったのですが、コード(数字型)、名称(文字型)の2カラムのみでもAPGが実行できるものとできないものがあります。
「数字型の1カラムのみ」は検証で作ったデータ
→これに文字型のカラムを追加したところAPGが実行でき、文字型を削除すると実行できませんでした。
-
追加情報として、以下の作業でAPG実行できても追加したカラムを削除してもデータソース変換でこけます。
エラーは本件と同じで「新規登録できません」とでます。
「数字型の1カラムのみ」は検証で作ったデータ
→これに文字型のカラムを追加したところAPGが実行でき、文字型を削除すると実行できませんでした。
-
Kokuboさん、
そうなると、あとは成功するテーブルと失敗するテーブルとの違いを綿密に検証するほかなさそうですね。
-
元々のSourceがxpa 2.3
他バージョンでも検証してみました。
xpa 3.2にマイグレーション→すべてAPG実行できる
xpa 4.9にマイグレーション→出来たり出来なかったり
xpa 4Plusにマイグレーション→上記に同じ
(ver4.10aもver4.10bも変わらず同じ現象)
-
Kokuboさん、
なるほど、マイグレーションが絡んでいたんですね。
おそらく、4Plusで新規に作成するぶんには大丈夫なんでしょうね。
-
kokuboさん
xpa 3.2にマイグレーション→すべてAPG実行できる
ということですので、
それを4.7や4.8など徐々にあげていくのはいかがでしょうか?私は4.7までしか開発環境ないのですが
3.2でactianデータを読んでいる分を
4.7にして新規データを作るなど
実験してみたいと思います。4plusで試さないと意味ないのかしれませんけど。
Pervasive、Actianを扱うシステムを4plusに上げるのはちょっと心配な気がしてきました。
-
kokuboさん
xpa 3.2 + Actianで動いている分を
開発環境で xpa4.7 にしてみましたが、
Actianデータの読み書き、新規ファイル生成問題有りませんでした。
4Plusでの実験を当方が出来ずすみません。 -
kokuboさん
Actianに以下の設定があれば、やってみるのもいいのでしょうね。
起動時のリソース割当→ON
Magic xpa 4 Plus よりも先立って、Actianは起動していますよね? -
本件ですが、解決しました。
弊社他の社員より、
ホーム>リファレンスガイド>データベース>Actian Zen(ISAM)データベース>Actian Zen(ISAM)ゲートウェイで使用される API
の情報を聞き、DLLを「MGBtrieve」→「MGBtrieveAPI1」に参照を変えたところ解決しました。
-
解決はしたので報告は無意味かもしれませんが、解決前に行った検証結果は以下です。
2.3→3.2⇒実行できる
3.2→4.7⇒実行できる
3.2→4.9⇒実行できたりできなかったり
3.2→4P⇒実行できたりできなかったり
4.7→4.9⇒実行できたりできなかったり
4.7→4P⇒実行できたりできなかったり
4.9→4P⇒実行できたりできなかったり
それと、4.7を境に定義エラーが起きました。
スタンドアロン環境下の3.2、4.7でAPGでファイルを作成
→4.9以降は定義エラー
DLLを「MGBtrieveAPI1」に変更後は4PでAPG実行できることを確認できました。
-
Kokuboさん、
ゲートウェイがバージョンアップしていたということだったんですね。
解決してよかったですね。
-
古い記憶ですが、昔からBtrieveでは数値項目のみのテーブルで諸問題が発生していたのでダミーで文字項目を持たせるようにしていました。
-
Teraさん、
そういえば、私も経験した記憶があります。もう何10年も前のことですが。
サインインしてコメントを残してください。
コメント
30件のコメント