Hemos buscando en diferentes espacios para darte la respuesta a tu duda, en caso de alguna difcultad déjanos tu comentario y respondemos con gusto, porque estamos para ayudarte.
Solución:
- Deberías elegir el Mixto.
-
la 1.0.84.0 es la versión más reciente para el
SQLite DLL
. Creé una aplicación conSQLite
también enc#
mi conexión string se parece a lo siguiente:sqlite_conn = new SQLiteConnection("Data Source=C:SQLITEDATABASESSQLITEDB1.sqlite;Version=3;");
La versión que está utilizando es SQLite
versión 3, la DLL es solo una versión diferente, pero funciona con SQLite
versión 3.
Los siguientes son diferentes tipos de cadena de conexión Sqlite
Básico
Data Source=c:mydb.db;Version=3;
La versión 2 no es compatible con esta biblioteca de clases.
Base de datos en memoria
Una base de datos SQLite normalmente se almacena en el disco, pero la base de datos también se puede almacenar en la memoria.
Data Source=:memory:;Version=3;New=True;
Usando UTF16
Data Source=c:mydb.db;Version=3;UseUTF16Encoding=True;
con contraseña
Data Source=c:mydb.db;Version=3;Password=myPassword;
SQLite está escrito en C. Para Windows, se distribuye como un .dll compilado de 32 bits (x86). Esto no se puede usar directamente desde .NET porque es código nativo y los programas .NET normalmente no les gusta interactuar con el código nativo. Se puede hacer con algo llamado COM Interop, pero en mis manos eso no es fácil ni agradable.
En su pregunta, hace referencia a una página de descarga que es para System.Data.SQLite. Esta es una implementación ligeramente diferente a la del antiguo SQLite. Toma C SQLite y lo envuelve con el código .NET, lo que permite el uso del código nativo de C por parte de los programas .NET (¡hurra, alguien más hizo el trabajo).
Cuando tiene código nativo (C SQLite) y código .NET (las funciones contenedoras) juntos en un ensamblado, eso se llama un mixed-modo ensamblaje, y originalmente tenía sentido poner todo en un archivo. Si está haciendo desarrollo o solo usa SQLite en su propia máquina, entonces use un mixedEl montaje en modo está bien.
Sin embargo, las cosas han cambiado con Windows de 64 bits SI desea distribuir su aplicación a los clientes. Esto es porque mixedLos ensamblajes en modo solo pueden ejecutarse en la arquitectura para la que fueron compilados (una mentira piadosa, pero true por esta respuesta). A partir de la versión 1.0.80.0 de System.Data.SQLite, se recomienda encarecidamente que distribuya: 1.) Todo .NET .dll System.Data.SQLite.dll, que puede ejecutarse en arquitecturas de 32 o 64 bits) Y 2 .) un .dll x86SQLite.Interop.dll de 32 bits Y 3. un .dll x64SQLite.Interop.dll de 64 bits
El contenedor de .NET completo (elemento 1) determina en qué arquitectura se está ejecutando y selecciona el .dll de 32 o 64 bits en consecuencia.
Todo esto se describe en la página de descargas de System.Data.SQLite a la que hizo referencia, pero lo encontré confuso, así que ofrezco mi resumen.
La discrepancia de versión que observa en su pregunta también se debe a la diferencia entre SQLite y System.Data.SQLite.
Recuerda que puedes compartir esta reseña si te fue de ayuda.