05-27-2021 02:49 AM
皆さんのお知恵を貸してください。
現象:
LabVIEW2015:32bit版アプリからAccess2019(64bit)への接続でエラーが発生し作業が中断しています。
実行環境:
Windows10 64bit / Access2019 64bit / LabVIEWアプリ(32bit)
開発環境:
Windows7 64bit / LabVIEW2015(32bit)
上記環境でAccessへの接続を実行したところ[Errro:-2147467259(0x80004005)]となりました。
接続そのものはサンプルを参考にしており、特別な処理はしていません。(添付図)
事前に「ODBCデータソース」で作成したDSNファイルに出力された情報の中から必要と思われる文字を結合して接続文字を作成しました。Accessの空DBファイル(Check1.accdb)も事前に用意していあります。
⇒ DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=D:\x_DB\Check1.accdb
※UIDとかは使う予定がないので含めていません。
質問1:
そもそも、この環境でLabVIEW(32bit)アプリからAccess2019への接続はできるのでしょうか?
基本的に32bitアプリからAccess(64bit)への接続ができるのか疑問です。特殊なテクニックとかありますかね。
質問2:
LabVIEWを64bit版でリビルドすれば接続できる可能性はあるのでしょうか?
LabVIEWを32bit版/64bit版同時にインストールできる旨の情報がありますが、インストールの具体的方法は普通にやれば良い?
質問3:
ターゲットの「Windows10 64bit / Access2019 64bit」は変更出来ないので、LabVIEW側で対応するしかないのですが「AccessDatabaseEngine.exe」等を使えば現状のアプリでも修正しないで対応可能なのでしょか?
記事を読むと「AccessDatabaseEngine.exe」はAccess2010頃リリースされているので、既に製品版ではクリアされている問題?
「骨董品を今更使うな」って云う突っ込みは無しで^^;
よろしくお願いします
解決済! 解決策の投稿を見る。
05-27-2021 06:46 PM
添付図をアップし損ねました。
05-27-2021 07:34 PM
Take3さん
エラーコードがわかる場合は、NIのWebサイトで「Error Code -2147467259」を検索してみるといいです。
ヒットするページをGoogle翻訳した「32ビット版LabVIEWでは、odbcad32.exe 32ビット版で作成されたDSNしか使用できません。」が参考になると思います。
05-28-2021 02:44 AM
こんにちはJ.H.Watsonさん
教えていただいたフォーラムで幾つかの解決できそうな情報を得ることができました。
ターゲットPCは、時間切れで顧客先に配送されてしまったので確認は後日となってしまいました。
質問1については、管理ツールのODBCデータソース選択肢に32bitドライバが表示されなかった事でインストールされていないと判断しました。環境からNGみたいです。
質問2について、クライアントにLabVIEW64bit版のインストーラを入手してもらうように依頼しました。これで64bitドライバにアクセスできるはず・・・と信じたい。
質問3について、おそらく質問2の対応でクリアできると思われます。
基本的に試行錯誤した内容は、的外れではなくフォーラムで指摘されている内容ばかりでしたので、質問1の問題が根本的に間違っていたと思われます。
以上、自己レスになってしまいましたがお知恵拝借、ありがとうございました。
06-03-2021 06:36 PM
最終的な解決策が見つかりましたので報告
LabVIEW2015に用意されている[Database Tool Kit]は32bit版のみで、64bit版はLabVIEW2019以降であることが分かりました。
従って、LabVIEW2015の64bit版をインストールしても対応する64bit版[Database Tool Kit]が無い為、LabVIEW2015の64bit版をインストールする手段はNGと云うことになります。
幸いにもMicroSoftのダウンロードセンターに、「Microsoft Access データベース エンジン 2010 再頒布可能コンポーネント」と云うのがあり、そこで[AccessDatabaseEngine.exe]32bit版(64bit版もあります)を落として実験用Windows10PCにインストールしたところ、無事32bitドライバを認識してLabVIEWアプリからアクセスのDBにデータを出力することができました。
以上、皆様の今後の参考になれば。
(最新版を使えばこんな苦労しなくてもいいのですがね・・・)
06-03-2021 07:11 PM
Take3さん
ご報告いただきありがとうございます。
バージョンと32/64ビット版の組み合わせなどの情報は探しにくいので参考になります。