『接続 (DatabaseConnect)』で Access Database へ接続すると「provider is not registered on the local machine.」エラーが発生します

:grey_question: Question

『接続 (DatabaseConnect)』アクティビティで Access Database へ接続すると「provider is not registered on the local machine.」エラーが発生します。Microsoft Access はインストールされた環境ですが、エラーを解消する方法を教えてください。

The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.
The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine.

:bulb: Answer

原因

利用中の UiPath Studio/StudioX が動作するビット数である 64 ビットの ODBC ドライバー「Microsoft Access Driver (*.mdb, *.accdb)」が不足していることが原因です。インストール済みの Microsoft Access が 32 ビットの場合は 64 ビット版の ODBC ドライバーがインストールされていない可能性があります。

下図例では「Microsoft Access Driver (*.mdb, *.accdb)」が 32 ビットの ODBC ドライバー一覧に表示されています。

一方、下図例では 64 ビットの ODBC ドライバー一覧に「Microsoft Access Driver (*.mdb, *.accdb)」が含まれていません。

解決策

下記マイクロソフト社公開情報から「accessdatabaseengine_X64.exe」というファイルをダウンロード、およびインストールして問題が解消するか否かをお試しください。なお、ODBC ドライバーの反映には端末の再起動が必要です。

https://www.microsoft.com/ja-jp/download/details.aspx?id=54920

ODBC ドライバー「Microsoft Access Driver (*.mdb, *.accdb)」の登録有無については Windows スタートメニューから「Windows 管理ツール」->「ODBC データソース (64 ビット)」をクリックして表示されるウィンドウの「ドライバー」タブから確認できます。

image

インストール前は下図例のように「Microsoft Access Driver (*.mdb, *.accdb)」が登録されていない状態です。

image

そのため『接続 (DatabaseConnect)』アクティビティで Access Database へ接続すると、下図例のように「provider is not registered on the local machine.」エラーが発生します。

image

「accessdatabaseengine_X64.exe」ファイルで ODBC ドライバーのインストール、および端末の再起動後は下図例のように「Microsoft Access Driver (*.mdb, *.accdb)」が表示されます。

image

『接続 (DatabaseConnect)』アクティビティで Access Database へ接続すると、下図例のように「Test connection succeeded.」と表示され、正常に接続できることが確認できます。

image