Windows Update 適用後、Excel(VBA)から Access(MDB)への ODBC 接続が突然失敗する事象が発生した。
Microsoft Update による Jet / ACE Engine のセキュリティ仕様変更。
Microsoft公式KB KB5002984 により、 Jet / ACE Engine はセキュリティ強化の一環として、 ネットワーク上(UNC)の Access データベースに対するクエリ実行を既定でブロックする仕様に変更された。
これは不具合ではなく、仕様変更である。
公式KB:
KB5002984: Jet Red Database Engine と Access Connectivity Engine を構成してリモート データベースへのアクセスをブロックする
Microsoft公式KBに記載されている ACE 側の回避策(互換性維持設定) を適用。
(Microsoft 365 / Click-to-Run 環境)
環境によって変わる場合有→公式KB参照
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\Microsoft\Office\16.0\Access Connectivity Engine\Engines
追加する値
| 項目 | 内容 |
|---|---|
| 種別 | DWORD |
| 名前 | AllowQueryRemoteTables |
| 値 | 1 |
この設定により、UNC 上の Access データベースに対するクエリ実行が許可され、 既存の VBA / SQL / DSN を変更することなく復旧した。
Windows Update 後に発生した Excel+Access(ODBC)接続障害は、 Jet / ACE Engine のセキュリティ仕様変更が原因だった。
Microsoft公式KBに基づく設定を適用することで、 正規の方法で復旧が可能である。
「Windows Update 後に Access が動かなくなった」
「Excel からの ODBC 接続が不安定」
といった内容でも構いません。
まずはお気軽にご相談ください。
Access 2.0、97、2000、2003などの旧バージョンから、最新のAccess 365まで幅広く対応可能です。旧バージョンで動いているシステムの調査・移行も対応いたします。
はい、可能です。
お客様とご相談し保守の「内容」「期間」「金額」を決めさせていただきます。
はい、どなたが作成したAccessでも改修いたします。
まずはご使用のAccessを解析させていただき、機能をよく把握した上で、ご希望の修正、機能追加を行います。
mdb形式のままでも動作させることは可能ですが、マイクロソフトとしてはすでに、2003以前のAccessはサポート対象外としています。
accdb形式では新しい機能が追加されておりますので、機能強化等を行う際に、開発がしやすいといった利点があります。
今後もAccessを使い続けていくのであればaccdb形式にバージョンアップしたうえで、機能追加などの修正を行ったほうが、より長い期間使い続けていけるかと思います。
はい、主な原因としては次のようなものが考えられます。
これらの症状が見られる場合は、データベースの 診断・最適化・分割 などで改善できます。当社では現状調査から対策のご提案まで承っておりますので、お気軽にご相談ください。