Saludos y gracias por crear este espacio para compartir conocimientos e información, mi pregunta es la siguiente:
Es posible hacer que una aplicación pueda acceder a dos bases de datos distintas de manera simultánea?, por ejemplo, que acceda a una base de datos sqlite y a otra Mysql ó a una Mysql y a otra PostgreSQL al mismo tiempo. Como puede hacerse?
Gracias por su ayuda.
Es Posible Que Una Aplicación Acceda A Dos Bases De Datos Distintas?
Objetivo: Re: Es Posible Que Una Aplicación Acceda A Dos Bases De Datos Distintas?
Hola lordyasha, bienvenido al foro.
Creo que si es posible, de hecho en la granja de software de gambas hay un programa que compara dos bases de datos, así que debe abrir dos bases como mínimo, supongo.
El programa se llama DB-diff y en este:
Primero el desarrollador declara las variables connection globalmente (una por conexion a BDD )
Luego define cada conexión con sus parámetros y conecta cada base.
Saludos.
lordyasha escribió: [Ver mensaje]
Creo que si es posible, de hecho en la granja de software de gambas hay un programa que compara dos bases de datos, así que debe abrir dos bases como mínimo, supongo.
El programa se llama DB-diff y en este:
Primero el desarrollador declara las variables connection globalmente (una por conexion a BDD )
Private cOrg As New Connection
Private cTarget As New Connection
Private cTarget As New Connection
Luego define cada conexión con sus parámetros y conecta cada base.
Private Function openOrg() As Boolean
Try cOrg.Close
With cOrg
.Type = frmMain.conOrg.Type
.Host = frmMain.conOrg.Host
.Login = frmMain.conOrg.Login
.Password = frmMain.conOrg.Password
.Name = frmMain.conOrg.DB
.Open
End With
Finally
Return cOrg.Opened
Catch
Message.Error(Replace(Error.Text, ".", "." & gb.NewLine))
End
Private Function openTarget() As Boolean
Try cTarget.Close
With cTarget
.Type = frmMain.conTarget.Type
.Host = frmMain.conTarget.Host
.Login = frmMain.conTarget.Login
.Password = frmMain.conTarget.Password
.Name = frmMain.conTarget.DB
.Open
End With
Finally
Return cTarget.Opened
Catch
Message.Error(Replace(Error.Text, ".", "." & gb.NewLine))
End
Try cOrg.Close
With cOrg
.Type = frmMain.conOrg.Type
.Host = frmMain.conOrg.Host
.Login = frmMain.conOrg.Login
.Password = frmMain.conOrg.Password
.Name = frmMain.conOrg.DB
.Open
End With
Finally
Return cOrg.Opened
Catch
Message.Error(Replace(Error.Text, ".", "." & gb.NewLine))
End
Private Function openTarget() As Boolean
Try cTarget.Close
With cTarget
.Type = frmMain.conTarget.Type
.Host = frmMain.conTarget.Host
.Login = frmMain.conTarget.Login
.Password = frmMain.conTarget.Password
.Name = frmMain.conTarget.DB
.Open
End With
Finally
Return cTarget.Opened
Catch
Message.Error(Replace(Error.Text, ".", "." & gb.NewLine))
End
Saludos.
Objetivo: Re: Es Posible Que Una Aplicación Acceda A Dos Bases De Datos Distintas?
lordyasha:
Pues, como te dice Tincho, si es posible, solo tienes que crear tantas instancias de la clase Connection, como bases de datos tengas que conectarte:
Y por supuesto, como en cada instancia tienes que darle los datos particulares de cada base de datos, puedes usar varios motores de base de datos a la vez (Mysql, Sqlite, PostgreSQL, etc..).
Saludos
Jsbsan
Pues, como te dice Tincho, si es posible, solo tienes que crear tantas instancias de la clase Connection, como bases de datos tengas que conectarte:
Private conexion1 As New Connection
Private conexion2 As New Connection
Private conexion3 As New Connection
....
Private conexion2 As New Connection
Private conexion3 As New Connection
....
Y por supuesto, como en cada instancia tienes que darle los datos particulares de cada base de datos, puedes usar varios motores de base de datos a la vez (Mysql, Sqlite, PostgreSQL, etc..).
Saludos
Jsbsan
Objetivo: Re: Es Posible Que Una Aplicación Acceda A Dos Bases De Datos Distintas?
Gracias a tincho y a jsbsan por su ayuda, intentaré implementar lo que me sugieren y les comunicaré los resultados; gracias de nuevo.
Página 1 de 1
No puede crear mensajesNo puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario
Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.
Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo
Página generada en:: 0.4272s (PHP: -80% SQL: 180%)
Consultas SQL: 45 - Debug off - GZIP Activado