"Не удается найти точку входа sqlite3 open v2 в DLL sqlite3" при использовании системы.Данные.Базы данных SQLite
У меня возникли проблемы с подключением к базе данных Sqlite через систему.Данные.Базы данных SQLite. Я пытался использовать FluentNhibernate, но это не сработало, поэтому я вернулся к основам, но получил ту же ошибку: не удается найти точку входа sqlite3_open_v2 в DLL sqlite3.
Это мой (довольно простой, я думаю) код:
using (SQLiteConnection connection = new SQLiteConnection("Data Source=Stripper.s3db;Initial Catalog=main;"))
{
using (SQLiteCommand cmd = new SQLiteCommand("select * from album", connection))
{
cmd.Connection.Open();
object t = cmd.ExecuteScalar();
cmd.Connection.Close();
}
}
У меня есть ссылка на систему.Данные.SQLite так что мне все кажется нормальным. Несколько объяснений (вы едва можете назвать их учебниками) в Интернете не помогли мне из.
3 ответа:
Это может быть версия Sqlite3, с которой вы работаете. Методы V2 относительно новы - введены в v3.5
Другое возможное объяснение заключается в том, что вы используете 32-разрядную версию поставщика в 64-разрядном приложении.
Я просто скачал В1.0.60.0 из системы.Данные.SQLite с сайта (sqlite.phxsoftware.com/) что приводит к http://sourceforge.net/project/showfiles.php?group_id=132486. Как вы можете видеть, существует не так много выбора, так что я не думаю, что я делаю что-то неправильно там. Если я не ошибаюсь, Sqlite3 включен в систему.Данные.Sqlite, так что можно было бы ожидать, что это будет хорошая версия. Я определенно работаю с 32-битной версией на 32-битном приложении. Я скачал установщик и буду попробуйте с этим (я использовал двоичные файлы).