2016年10月25日火曜日

Access から ODBC で SQLServer に接続したら全部 #Deleted と返ってきた

Access から ODBC経由で SQLServer へリンクテーブルを作成したら、特定のテーブルから返ってくる値が全部「#Deleted」になってる。

他のテーブルは問題ないので、ODBCの設定誤りではなさそう。

#Deleted になるのは SQLServer 2008 から対応した Geometry型のカラムを持つテーブルなので、これが怪しい。

色々調べたところ、「Access からの ODBC 接続では SQLServer の bigint 型に対応できない。」ことがわかりました。
しかも回避方法はないらしい。
多分、Geometry型もダメでなんでしょうね。

仕方ないので、 SQLServer 上で Geometry型のカラムを外したビューを作成して、そのビューに対してリンクテーブルを作成することで対応できました。

今回は、Geometry自体は使用しないのと、参照のみで更新しないので、偶然OKかな。

Geometry 自体を使用したい場合は、パススルーなら取ってこれるような感じです。(未検証)

0 件のコメント:

コメントを投稿