#Powershellでaccdbを扱う際に引っかかったこと
##概要
ACCESS によりDB(accdb)を作成しデータの参照、更新処理を実施しようとした。
##環境
使用 PC は Windows10 64bit で ACCESS がインストールされている。
PC 毎に ACCESS のビット数が違う。
##事象
ACCESS のビット数が 32bit の PC で実行したときに
「供給されたプロバイダーは既に使用されているものと異なります」
というエラーメッセージが表示され、DB に接続できなかった。
##原因
ACCESS のビット数にかかわらず PowerShell(64bit)で実行していたことにあるようです。
PowerShell(64bit)で実行するので、ACCESS(32bit)がインストールされている PC の場合に本事象が発生するようです。
ショートカットの中身
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy RemoteSigned -File "実行するシェル.ps1"
##対処
ACCESS(32bit)がインストールPC用にPowerShell(32bit)で実行するショートカットを作成し実行させることにしました。
ショートカットの中身(32bit)
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy RemoteSigned -File "実行するシェル.ps1"