"Не удается найти точку входа 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 2

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-битном приложении. Я скачал установщик и буду попробуйте с этим (я использовал двоичные файлы).