• 締切済み

Accessでデータの競合を出なくする方法

ODBCで、AccessからPostgreSQLへリンクしているのですが、レコードを更新しようとすると、データの競合が発生しましたと表示されレコードを更新することができま せん。この競合が出ないようにするにはどうしたら良いでしょうか?

みんなの回答

  • rara_sun
  • ベストアンサー率50% (271/539)
回答No.1

実際にやったことがない(というか、全く製品知識なし&触った事がない)ので、聞いたことがあるレベルの回答で申し訳ないのですが・・ <こっからは聞いたことがある内容> Microsoft Jet Database Engineには長さ0の文字列とNULLとを混同してしまうバグがあり、この問題が発生します。Microsoft Jet Database Engineを最新版にアップグレードしてください。マイクロソフトのウェブサイトからダウンロードできます。 ODBCドライバオプションの“Bool as Char”オプションをオンにしてください。このオプションをオフにしているとPostgreSQLのbool型はODBCのBIT型に変換されるようになります、本来の機能としてはより望ましいのですが、MS-AccessではこのBIT型を正しく扱えないために問題が発生します。 カラムのデータ型に浮動小数点数(実数)を使っていると発生することがあります。PostgreSQLでは浮動小数点数をサーバ・クライアント間で正確に転送することができません(厳密には誤差が発生することがあります)。このためMS-Accessは、知らないところでデータが勝手に変わったと判断してしまい、この問題が起きてしまいます。残念ながら決定的な対策はありません。 なお、ODBCドライバオプションの“Row Versioning”をオンにすると解決できるかもしれません。

関連するQ&A