1. 小数フィールド精度不合致

小数フィールド精度不合致

昔オラクルの古いデータベースをマイクロソフトアクセス(オフィスxp)を使って「ODBC接続」していました。アクセス側のオブジェクトリストには、ODBCのリンクテーブルのアイコンが作成されている状態で、日頃はこれをアクセスのテーブルであるかのように操作できていました。ある時、テーブル追加クエリでアクセス側へデータベースのバックアップを行おうとした際にアクセス側で「指定された数値は、少数フィールドの精度と合致しません。」というエラーが吐き出されました。しかし長い間、この意味が理解できずにいました。アクセスのメニューバーからツール→データベースユーティリティ→最適化を実行すると、うまくいく時があったり、パソコンを再起動してファイルを開いた1回目だけうまくいったりするなど不安定で、どうすれば何が解決するのか意味不明でした。しかし経験の記憶として、ある時オラクル側のデータベースの定義で、特定のフィールドのフィールドサイズをエンジニアの方に拡張して頂いたことを思い出しました。その後に、マイクロソフトアクセスの側では、ODBCデータベースのリンクアイコンの設定変更などは行っていませんでした。これをアクセスのメニューバーからツール→データベースユーティリティ→リンクテーブルマネージャを開き、「リンク先を更新するテーブル」のチェックボックスにチェックをつけて、「リンク先を更新するためのプロンプトを毎回表示する」にはチェックを付けずにOKを押しました。「選択されたテーブルのリンク先が更新されました。」とメッセージが出ました。その後、もう一度テーブル作成クエリを実行したところメッセージが出なくなり、うまく行きました。リンクテーブルでは特定のフィールドサイズなどの定義を保存しており、元テーブルが更新された後には、テーブルのリンクも更新する必要があるという経験となりました。おわり。