Saltar al contenido

Formato de cadena de conexión SQLite de C#

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:

  1. Deberías elegir el Mixto.
  2. la 1.0.84.0 es la versión más reciente para el SQLite DLL. Creé una aplicación con SQLite también en c#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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *