«Не удается найти точку входа sqlite3_open_v2 в DLL sqlite3» при использовании System.Data.Sqlite - PullRequest
2 голосов
/ 11 декабря 2008

У меня проблемы с подключением к базе данных 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, поэтому мне кажется, что все в порядке. Несколько объяснений (вы можете едва назвать их учебниками) в Интернете не помогли мне.

Ответы [ 3 ]

3 голосов
/ 11 декабря 2008

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

0 голосов
/ 12 декабря 2008

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

0 голосов
/ 11 декабря 2008

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

...