“Não é possível encontrar sqlite3_open_v2 ponto de entrada na DLL sqlite3” ao usar System.Data.SQLite

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

Pergunta

Estou tendo problemas para se conectar a um banco de dados SQLite através System.Data.SQLite. Eu estava tentando usar FluentNHibernate mas que não funcionou, então eu fui voltar ao básico, mas tenho o mesmo erro:. Não é possível localizar ponto sqlite3_open_v2 entrada na DLL sqlite3

Este é meu código (bastante simples creio eu):

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();
            }
        }

Eu tenho uma referência para System.Data.SQLite assim tudo parece bem para mim. As poucas explicações (você mal pode chamá-los tutoriais) na internet não me ajudou.

Foi útil?

Solução

Pode ser a versão do Sqlite3 você está trabalhando contra. Os métodos de V2 é relativamente novo - introduzida em v3.5

Outras dicas

Outra explicação possível é que você está usando uma versão do fornecedor de 32 bits em um aplicativo de 64 bits.

Eu apenas o download v1.0.60.0 no site da System.Data.SQLite (sqlite.phxsoftware.com/) que leva a http://sourceforge.net/project/showfiles.php?group_id=132486 . Como você pode ver que não há muita escolha, então eu não posso pensar que eu estou fazendo nada de errado lá. Se não me engano, Sqlite3 está incluído na System.Data.SQLite de modo que seria de esperar que seja a versão boa. Estou definitivamente trabalhando com a versão de 32 bits em um aplicativo de 32 bits. Eu fiz o download do instalador e vai tentar com isso (eu estava usando os binários).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top