Accessで作ったアプリケーションをスタンドアロンで動かしていたんですが、他のPCでも利用したいと言う要望があり、データをSQL Serverに移行する事になりました。
データの移行はSQL Server EnterPrice Manager のデータのインポート機能を使えば簡単に出来ちゃうので、楽勝と思ってたんです。
作業も20分ぐらいで終わり、「よしよし!検証もらくちんだぜ」とAccessのテーブルをODBC経由のリンクテーブルに貼りなしてこれでほとんど終わったつもりが・・
登録画面の操作を始めると、登録キャンセルで排他制御による失敗みたいなエラーが発生
「is not updatable because the modification affects multiple base tables. (#4405)". 」
ありゃ?
テーブル開いてみると登録キャンセルしたはずのデータがいる。
でもって削除しようとすると「他のユーザーが同じデータに対して同時に変更を試みているので、プロセスが停止しました。」
ふーんなんでだろうとグーグル先生に聞いてみたら、松さんのブログに答えが書いてありました。
Accessの「Yes/No型」がSQL Server ではbit型になり。これがnullの時におこる事象のようです。
SQL Server EnterPrice Managerで該当データのフィールドのプロパティーで既定を0(false)にセットする事で対処できました。