ホーム   フォーラム   FAQ
 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

Access MDBの読込みでエラー

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています
depth:
0
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 .4 | 投稿日時 2012-2-14 10:20
makiyama  新米 居住地: 静岡県  投稿数: 13
Access MDB(以降、MDBと表記します)のレコードを読み込んで、そのレコードをそのままPervasiveに登録・更新するタスクを実行したところ、以下の現象が発生して困っております。

【環境】
・uniPaaS Version 1.9g PT1
・MDB(Access95形式)をODBC経由で参照
・Pervasive PSQL Summit v10

【現象】
1. 実行中に以下のメッセージが表示される。
「処理に失敗しました.他のユーザか処理によってレコードが変更されています.データソース: [MDBのテーブル名]」

2. Pervasiveを参照すると、登録されたデータの末尾に他のデータの一部と思われるゴミが付いてしまう(文字種問わず)。
例)正:大阪府 誤:大阪府県 ※MDBには「大阪府」と登録されている
例)正:123456 誤:123456012 ※MDBには「123456」と登録されている

1.の現象については、ログを確認したところ、MDBのフィールド「処理済区分」を更新するUPDATE文でNO_DATA_FOUNDが発生したことに起因しているようですが、タスクには処理済区分以外のMDBへの更新処理は無く、外部プログラムからのMDBへのアクセスは無いので、NO_DATA_FOUNDになること自体が理解できないのです。

今回新たに2.の現象が確認されたことで、uniPaaS内部でバッファをクリアせずに上書きしたためにデータがおかしくなり、UPDATE文のWHERE句の条件に合致せずに1.の現象が発生し、2.のようなデータが登録されているのではないかと想像しています。

Magicプログラム未経験のため、設定漏れなどがありそうな気がしています。
ご存知なことや疑わしい点などがありましたら、ご教示頂ければ幸いです。
よろしくお願いいたします。
投票数:0 平均点:0.00
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2012-2-14 13:11
nobukoshi802  一人前   投稿数: 118
uniPaasは、ODBCは動作対象外になっているので
AccessMDBをMS-SQLに変換後
uniPaasで操作する方法はダメですか?
投票数:0 平均点:0.00
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2012-2-14 13:43
makiyama  新米 居住地: 静岡県  投稿数: 13
nobukoshi802様

ご回答ありがとうございます。
確かにODBCは動作保証の対象外なんですよね。私も少々気になってはいたものの、V7で動作していたという実績と、なんとなく動作していたので大丈夫だと信じていました。

再度デバッグモードで、ODBC経由で取得直後のデータを参照しながら実行したところ、取得時点で既におかしな状況になっていました。ODBCドライバのバグかも…ですね。

とりあえず、ODBCを介さない方法を検討してみます。
投票数:0 平均点:0.00
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2012-2-16 14:57
nkmt  長老   投稿数: 1668
こんにちは。ちょっと時間空きましたけど。

似たような環境でACCESS MDBのデータを
Magicから読み込む事はよく行っております。
 uniPaaS Version 1.9g
 ACCESS MDBは2000か2003形式
 Pervasive PSQL Summit v10

コントロールパネル → データソース(ODBC)
 ユーザーDSN を作成。

Magic側で、データベースを作成。

Magicアプリケーション側で
データソース名に、ACCESSのテーブル名を指定し定義取得。

読み込めますよ。

他社が作成したMDBデータをMagicに取り込むとかよく行います。
投票数:3 平均点:10.00
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2012-3-1 17:28
makiyama  新米 居住地: 静岡県  投稿数: 13
nkmt様

随分とお返事が遅くなりまして、申し訳ございません。

nkmt様からの回答通りにデータ定義をやり直したところ、文字型で定義されていた部分が悉くUnicodeで定義しなければならなかったことが判明しました。データ定義をやり直したプログラムで実行したところ、問題がすべて解決されました。

数ヶ月に渡って悩みに悩んで解決せぬまま、リリースまで1ヵ月というところだったので、心から安堵しております。ありがとうございました!!(^-^)
投票数:0 平均点:0.00

  条件検索へ


Copyright (C) Magic Software Japan K.K. All Rights Reserved.
個人情報保護方針 会員規約