0

私はMono.Data.Sqlite dllを使用してsqliteを利用するプロジェクトに取り組んでいるので、私のプログラムはWindowsとmonoのクロスプラットフォームです。プログラムは問題なく正常にビルドされますが、プログラムを実行すると、データベースに接続しようとします。

ただし、エラーが発生します

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

以下は、SQLite データベースに接続する方法のコードです。

public SqliteConnection conn = null;
        private static string path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
        private static string exeName = System.Reflection.Assembly.GetEntryAssembly().GetName().Name;
        public static string DATABASE_PATH = path + string.Format("\\BoardiesITSolutions\\{0}\\{0}.db", exeName);

        public ConnectSQLiteDatabase(string dbPassword)
        {
            try
            {
                Console.WriteLine("DB Password: {0}", Encryption.decrypt(dbPassword));
                conn = new SqliteConnection("Data Source="+DATABASE_PATH+";Password="+Encryption.decrypt(dbPassword));
                conn.Open();
            }
            catch (SqliteException ex)
            {
                Console.WriteLine("Open Error: " + ex.Message);
            }
        }

ご協力いただきありがとうございます。

4

2 に答える 2

0

問題を解決することができました。

Windows用のプリコンパイル済みバイナリをインストールし、そのDLLをプロジェクトにインポートして、Windowsで正常に動作するようにしました。次に、ソースをダウンロードし、リンクhttp://system.data.sqlite.org/index.html/doc/trunk/www/build.wiki#monoから mono 用の DLL を手動でビルドし、これを Linux サーバーにインストールします。現在、両方のプラットフォームで正常に動作します。

于 2013-04-26T18:35:37.687 に答える
-1

インストールしてみてください:

sudo apt-get install libsqlite3-dev 
于 2016-03-01T10:21:04.007 に答える