¡Hola Carlos, qué alegría saber de ti! Sobre tu pregunta, efectivamente aparecerá una DLL cuando el cliente de base de datos distribuye sus recursos como librería dinámica, que es el caso más habitual en motores como MySQL, PostgreSQL, Oracle o SQL Server. En estos casos el ejecutable es liviano, pero en tiempo de ejecución necesita encontrar esa DLL en el sistema. Si no está presente o la versión no es la correcta, el programa fallará al arrancar o al intentar establecer la conexión. El mecanismo es el siguiente: el sistema operativo carga la DLL en memoria cuando la necesita, y además puede compartirla entre varios procesos simultáneamente, lo que ahorra memoria cuando múltiples aplicaciones usan el mismo cliente de base de datos. Sin embargo, existe otro modelo: el enlazado estático, que es el que utiliza SQLite. En este caso, todo el código del motor se compila e integra directamente dentro del ejecutable final. El resultado es un binario más grande, pero completamente autónomo, sin ninguna dependencia externa. Esto lo convierte en una opción ideal para aplicaciones de escritorio, móviles o embebidas donde se quiere distribuir un único archivo sin necesidad de instaladores ni de que el usuario tenga nada previamente instalado. En resumen, es el clásico compromiso entre dos enfoques:
Librería dinámica (DLL): ejecutable pequeño, pero con dependencias externas que hay que gestionar y distribuir. Librería estática: ejecutable más grande, pero totalmente portable y sin dependencias, lo que simplifica enormemente el despliegue.
SQLite ha sabido convertir precisamente ese modelo estático en una de sus mayores ventajas, siendo hoy uno de los motores de base de datos más distribuidos del mundo gracias a su simplicidad de integración.
PD: ponte en contacto conmigo por eMail
Sevilla - Andalucía