このところ、PostgreSQLやOracleのデータベースをマイクロソフト社のアクセスから操作するシステムを開発している。マイクロソフト社のアクセスには大量データを処理すると不安定になるなどの問題があるのだが、短期間に効率的にシステムを開発したい、さらに専用データベースをクライアントが非定型業務で活用したい という要求に対応するには、現時点でもマイクロソフト アクセスは有効なツールだ。
ところが、案の定、わけのわからないエラーが発生してしまった。サーバ上のPostgreSQLとOracleのテーブルをリンクしていたMDBを元に、ローカルのアクセスデータベースに切り替えたとたんに、「プロシージャの呼び出し、または引数が不正です」というエラーが出る。システムの起動直後にログイン画面を表示しようとすると、「プロシージャの呼び出し、または引数が不正です」というエラーだ。MDBの作成直後から出ることもあれば、一回目は正常に動作し、二回目以降にエラーとなることもある。もちろんプログラムの中身は一切変更していない。テーブルをアクセスのJetに変えただけだ。当初アクセスのJetで作ったMDBをPostgreSQL、Oracleに変更したMDBを元に戻しただけだ。
ネットで調べてみると同様のエラーで苦しめられている人がいた。どうも参照関係があやしい。エラーの出るMDBのVBAの参照関係を調べようとすると、ツールの参照設定がクリックできない。これは、MDBが破損しているとか、最適化すれば とかいうレベルではない。
もう一度(本当は3回だが)MDBを作り直したら、エラーはでなくなった。これまでは、新規のMDBを作り、そこにアクセスJetからテーブル、元のMDBからクエリ、さらに元のMDBからフォームその他をインポートしていたが、今回は元MDBをコピーして、PostgreSQL、Oracleのリンクテーブルを削除した後に、アクセスのJetからテーブルをインポートした。これが、良かったようだ。参照設定も確認できる。もちろんエラーも出なくなった。新しいMDBにオブジェクトをインポートしたらエラーが出るが、元のMDBをコピーしてテーブルだけを変更したら大丈夫ということ。
最近のアクセスはテーブルをベースにオブジェクトの関連を管理しようとしていて、テーブルの項目名を変更すると、その項目を使っているクエリの項目名まで自動的に変更してくれる。一見便利で親切だが、クエリだけを変更し、別MDBに書き出すと、クエリの元になるテーブルがないため勝手に式1 などと名前を変えてしまう。クライアント側のクエリだけを修正したい場合など不便極まりない。迷惑な機能だと思っていたが、今回のエラーの原因もその辺にあるのではないか と推測している。
便利そうで実は余計な機能を追加するより、壊れにくく信頼できる製品を作ってもらいたいものだ。安定して使えればマイクロソフト アクセスは専用データベースの使いづらさを解消できるツールとして自信を持ってお薦めできるのだが・・・
システム開発の世界
私はよくわからないのですが
佐藤先生が何度も実験・検証され
それを私にもわかるようかみ砕いて
いつもお話をしてくださっているのですね。
尊敬と感謝です^^;
[2007/11/21 10:23]
[
編集 ]
システム開発では、キッカイな訳の分からないことが時々起こります。
そんな時は、ひとつひとつ原因らしきものを潰していくしかありません。ネットなどで情報を収集しながらの試行錯誤です。
もちろん、こちらのミス(バグ)だった!ということもありますが、今回のようにアクセス側が原因であることも。
ブラウザだって、結構、問題=バグを抱えています。特にマイクロソフトのインターネットエクスプローラは問題だらけです。おかげで、作る方はたいへんです。
[2007/11/22 08:51]
[
編集 ]
私はシステム等の事はサッパリわからないのですが
システムエラーにはホトホト参ります><
リーディングカンパニー(しかもほぼ独占)のMSには
ダントツの強さを発揮していただきたいものですね。
しかし「巨人がプロ野球の盟主」
「巨人が強くないと盛り上がらない」
には断固反対の中日ファンのヤマダでした^^
[2007/11/22 11:12]
[
編集 ]
♪遠い夜空にこだまする竜の叫びを耳にして
♪中日球場つめかけた・・・
マサト氏は中日ファンですか?
日本一 おめでとうございました。
佐藤は小さい頃からアンチ巨人で、
今は亡き阪急ファンでした。
これも今は無き西宮球場には何回も通ったものです。
山田、加藤、福本の三羽ガラス、足立の職人の技。
太く短く散っていった山口高志。
今も目に焼き付いています。
♪晴れたる青空 我らのブレーブス
もえたつ緑か 我らのブレーブス
勝利を目指して 鍛えし技を
この日もしめさん 我らのブレーブス
♪ハンキュウ ハンキュウ ブレーブス
オーオ ハンキュウ ブレーブス
[2007/11/22 18:19]
[
編集 ]
コメントの投稿