1. ホーム
  2. sqlite

[解決済み] DLL 'sqlite3' をロードできません。指定されたモジュールが見つかりませんでした。(HRESULT: 0x8007007E の例外)

2022-02-14 03:54:37

質問

現在、Windows FormsでSQLiteを使用していますが、プロジェクトの実行中にエラーが表示されます。

DLL 'sqlite3' をロードできません。指定されたモジュールが見つかりませんでした。(HRESULTからの例外: 0x8007007E)

のDLLを追加していました。 System.Data.SQLite.dll が、同じエラーが表示されます。どなたか、この問題に関して完璧な答えを与えて助けていただけませんか?ありがとうございました。

解決方法は?

正しいプラットフォーム用のバージョンを追加していないのでは?SQLiteはX86(32ビット)アセンブリとX64(64ビット)アセンブリを1つずつ配布しています。

32ビットアプリケーションの場合は、System.Data.SQLiteディストリビューションの"bin"にあるSystem.Data.SQLite.dllを、64ビットアプリケーションの場合は、"binx64"を使用する必要があります。

しかし、2回目のエラーメッセージを見る限りでは、それなのかどうかよくわかりません。SQLiteをネイティブに呼び出しているのでしょうか?その場合、dllをsqlite3.dllにリネームする必要があるかもしれません。

このような場合、「System.Data.SQLite」はネイティブのsqlite3.dllとマネージドADO.NETプロバイダをバンドルしています(古いバージョンを使用していない場合は、ネイティブのsqlite3.dllが別に必要かもしれません)。