Необходимо загрузить DLL для использования SQLiteWrapper в C # - PullRequest
1 голос
/ 11 августа 2010

Я пытаюсь получить доступ к базам данных в C #. Базы данных являются SQLite, и я пытаюсь получить к ним доступ так:

string CurrentDatabase = Path.FullName + "\\stock.sqlite";

SQLiteBase db = new SQLiteBase(CurrentDatabase);

Я использую библиотеку SQLite, которую я нашел здесь для доступа к базе данных:

http://www.codeproject.com/KB/database/cs_sqlitewrapper.aspx

Но я получаю эту ошибку:

Невозможно загрузить DLL 'sqlite3': указанный модуль не может быть найден. (Исключение из HRESULT: 0x8007007E)

Я думаю, что знаю, что не так, у меня нет системы sqlite3 в моей системе ... но я бы хотел, чтобы это приложение было переносимым, поэтому я не могу ожидать, что пользователи уже установили эту DLL. Я читал о загрузке DLL из другого приложения, где эта DLL уже есть, Firefox является хорошим примером. Он установлен на всех компьютерах моей компании, и если бы я мог как-то загрузить DLL sqlite3 из каталога программных файлов Firefox в мое приложение, он должен работать отлично, нет? Если это действительно решение, мне понадобится помощь в загрузке DLL, поскольку я не знаю, как это сделать.

Спасибо.

Ответы [ 2 ]

4 голосов
/ 11 августа 2010

Скопируйте файл sqlite3.dll в тот же каталог, в котором находится ваша DLL-оболочка, и предоставьте его как часть распространяемого приложения, когда это будет сделано, таким образом, не будет никакой ерунды, связанной с несоответствиями версий DLL. Вы можете скачать последняя версия от http://sqlite.org

1 голос
/ 11 августа 2010

Я рекомендую использовать System.Data.SQLite , который является поставщиком ADO.NET для SQLite. Затем вы можете программировать с помощью ADO.NET API. Его DLL включает в себя sqlite3.dll, поэтому вам не нужно включать его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...