Ich versuche, die neue json1 Erweiterung zu laden, wenn die Verbindung in einzurichten, aber ich halte diesen Fehler empfangen:System.Data.SQLite Erweiterung kann nicht laden
SQL logic error or missing database
The specified procedure could not be found.
Hier mein Code:
Ich verwende NHibernate, also nehme ich einfach die Verbindung aus der Sitzung, bevor irgendeine Logik ausgeführt wird.
Gibt es etwas, was ich falsch mache? Ich habe auch versucht, SQLite.Interop.dll zu laden und dann die sqlite3_json_init
Methode aufzurufen, und das funktioniert immer noch nicht.
Ich tat dies und es scheint noch nicht zu funktionieren: von SQLite.Interop.dll
SQLiteConnection connection = (SQLiteConnection)session.Connection;
connection.EnableExtensions(true);
string path = "F:\\GitHub\\ExampleProj\\lib\\sqlite\\SQLite.Interop.dll";
if (File.Exists(path))
{
connection.LoadExtension(path,
"sqlite3_json_init");
}
ich in den vollständigen Pfad zum sqlite.interop Datei nur passieren, ich habe die Bearbeitung der Frage oben zu zeigen, wie ich die Interop umfassen Datei –
Momentan setze ich die Build-Konfiguration auf Any CPU, könnte das der Grund sein? –
Möglicherweise. Es gibt zwei Versionen der SQLite.Interop.dll, eine für 32bit, eine für 64bit. Je nachdem, wie Ihre Anwendung läuft, müssen Sie die richtige laden. Stellen Sie außerdem sicher, dass Sie System.Data.SQLite Version 1.0.99.0 oder höher (mit passender Interop-Bibliothek) verwenden, da dies die erste war, die json1 unterstützte. –