Tengo una aplicación que usa una base de datos SQLite y todo funciona como debería. Ahora estoy en el proceso de agregar nuevas funcionalidades que requieren una segunda base de datos SQLite, pero estoy teniendo dificultades para descubrir cómo unir tablas de las diferentes bases de datos.
Si alguien me puede ayudar con este, ¡se lo agradecería mucho!
Editar: vea esta pregunta para ver un caso de ejemplo que puede adaptar a su idioma cuando adjunta bases de datos como se menciona en la respuesta aceptada.
Respuestas:
Si ATTACH está activado en su compilación de Sqlite (debería estar en la mayoría de las compilaciones), puede adjuntar otro archivo de base de datos a la conexión actual usando la palabra clave ATTACH . El límite en la cantidad de bases de datos que se pueden adjuntar es una configuración de tiempo de compilación ( SQLITE_MAX_ATTACHED ), actualmente el valor predeterminado es 10, pero esto también puede variar según la compilación que tenga. El límite global es 125.
Puede ver todas las bases de datos conectadas con palabra clave
Entonces debería poder hacer lo siguiente.
Tenga en cuenta que "[l] os nombres de base de datos
main
ytemp
están reservados para la base de datos primaria y la base de datos para contener tablas temporales y otros objetos de datos temporales. Ambos nombres de base de datos existen para cada conexión de base de datos y no deben utilizarse para adjuntar".fuente
'
(comillas simples) alrededor del nombre del archivo. Encontré lo mismo.Aquí hay un ejemplo de C # para completar esta pregunta
fuente
Bueno, no tengo mucha experiencia con SQLite, tienes que acceder a ambas bases de datos en una sola consulta.
Puedes tener algo como:
En bases de datos como SQLServer, puede acceder a otras bases de datos de esta manera jerárquica, esto también debería funcionar para SQLite.
¡Creo que puede iniciar una instancia de sqlite con más de 1 base de datos!
fuente