Próbuję załadować nowe rozszerzenie json1 gdy połączenie z powołania, ale zachować otrzymujących ten błąd:System.Data.SQLite Nie można załadować modułu
SQL logic error or missing database
The specified procedure could not be found.
Tu jest mój kodu:
SQLiteConnection connection = (SQLiteConnection)session.Connection;
connection.EnableExtensions(true);
Assembly assembly = Assembly.Load("System.Data.SQLite");
connection.LoadExtension(assembly.Location, "sqlite3_json_init");
Używam NHibernate, więc pobieram połączenie z sesji przed wykonaniem jakiejkolwiek logiki.
Czy jest coś, co robię źle? Próbowałem również ładowanie SQLite.Interop.dll, a następnie wywołanie metody sqlite3_json_init
i to nadal nie działa.
Zrobiłem to i nadal nie wydają się działać:
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");
}
po prostu przejść na pełną ścieżkę do pliku sqlite.interop, mam edycję powyżej pytanie, aby pokazać jak ja obejmować współdziałanie file –
W tej chwili ustawiam konfigurację kompilacji na Dowolny CPU, czy to może być przyczyną? –
Prawdopodobnie. Istnieją dwie wersje SQLite.Interop.dll, jedna dla wersji 32-bitowej, druga dla wersji 64-bitowej. Musisz załadować właściwy, w zależności od tego, jak działa twoja aplikacja. Upewnij się również, że używasz System.Data.SQLite w wersji 1.0.99.0 lub wyższej (z pasującą biblioteką interopów), ponieważ była to pierwsza wersja obsługująca json1. –