“Не удается найти точку входа sqlite3_open_v2 в DLL sqlite3” при использовании System.Data.Sqlite

StackOverflow https://stackoverflow.com/questions/360705

Вопрос

У меня возникли проблемы с подключением к базе данных Sqlite через System.Data.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();
            }
        }

У меня есть ссылка на System.Data.SQLite, так что мне все кажется прекрасным.Несколько объяснений (едва ли их можно назвать учебными пособиями) в Интернете мне не помогли.

Это было полезно?

Решение

Это может быть версия Sqlite3, с которой вы работаете.Методы V2 являются относительно новыми - введено в версии v3.5

Другие советы

Другое возможное объяснение заключается в том, что вы используете 32-разрядную версию провайдера в 64-разрядном приложении.

Я только что скачал версию v1.0.60.0 с веб-сайта System.Data.Sqlite (sqlite.phxsoftware.com /), которая приводит к http://sourceforge.net/project/showfiles.php?group_id=132486.Как вы можете видеть, выбора особого нет, так что я не могу думать, что делаю здесь что-то не так.Если я не ошибаюсь, Sqlite3 включен в System.Data.Sqlite, поэтому можно было бы ожидать, что это будет хорошая версия.Я определенно работаю с 32-битной версией над 32-битным приложением.Я скачал установщик и попробую с этим (я использовал двоичные файлы).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top