Foros del Web » Programando para Internet » PHP »

PHP OO Conexion a tres motores de base de datos

Estas en el tema de Conexion a tres motores de base de datos en el foro de PHP en Foros del Web. Buenos dias para todos.. tengo un problema por resolver, tengo mi aplicativo en php que tiene que funcionar en tres gestores de base de datos ...
  #1 (permalink)  
Antiguo 17/12/2010, 08:57
 
Fecha de Ingreso: diciembre-2010
Mensajes: 4
Antigüedad: 14 años
Puntos: 0
Conexion a tres motores de base de datos

Buenos dias para todos.. tengo un problema por resolver, tengo mi aplicativo en php que tiene que funcionar en tres gestores de base de datos (mysql,postgres,mssql) el appi debe ser capaz de detectar que gestor esta dando su servicio y si este se detiene debe enviar un mensaje mencionando la desconexion y ademas permitirme atraves del appi sin entrar a codigo fuente.. cambiar de gestor de base de datos; lo intente por formularios pero solo a la primera funciona de ahi es como si se perdiera la conexion... porfavor necesito ayuda...no se como hacerlo....utilizo abstract factory para la conexiones a base de datos pero tengo que ingresar a codigo fuente..les agradeceria mucho su ayuda..gracias.
  #2 (permalink)  
Antiguo 17/12/2010, 09:35
 
Fecha de Ingreso: diciembre-2010
Ubicación: Rosario, Santa Fe
Mensajes: 326
Antigüedad: 14 años
Puntos: 13
Respuesta: Conexion a tres motores de base de datos

Para eso tienes que usar un fichero de configuración con las 3 posibles conecciones. En donde es usuario configure esos datos.
Luego, conectas la primera y la usas, en caso de error de conección deberías usar la segunda y luego la tercera.
Esa lógica yo realizaría con una clase para abstraerme de la lógica de cada BD y poder usar métodos comunes como "conectar", "estaConectado", "consulta", etc.
Y luego una clase que administre esos 3 objectos, con métodos similares (tal vez una interface para las 4 clases) la cual con el método "conectar" por ejemplo conecte a la primera, y si al ejecutar una consulta pregunto si esta conectado, si es así, ejecuto, en caso contrario, conectar debera usar la 2da y luego la tercera, y en caso de no estar disponible ninguna, seria un error fatal para la ejecución. Cada vez que se cambia de objeto de coneccion, deberías preveer mandar la advertencia.
Espero haber sido más o menos claro, cualquier cosa me preguntas.


Me ovidaba de una detalle no menos importante que no mencionaste y no se si lo tenes en cuenta o tal vez entendí mal. Si trabajas con 3 bases de datos, debes replicar los datos en las 3, para mantener consistencia.
  #3 (permalink)  
Antiguo 19/12/2010, 17:52
 
Fecha de Ingreso: diciembre-2010
Mensajes: 4
Antigüedad: 14 años
Puntos: 0
Respuesta: Conexion a tres motores de base de datos

interesantisimoo la logica... me encanta..que al realizar una consulta yo pregunte si esta conectado .. . y sii considere sobre las tres bases de datos que sus campos tipo de datos y nombre de las tablas sean =Es... pero amigo no se muy bien lo que son ficheros de configuracion? es simplemente un codigo php ?.. o es otro lenguage?...podrias alcanzarme un ejemplo de tu logica estare eternamente agradecido..grcias..buen amigo..espero tu respuesta
  #4 (permalink)  
Antiguo 19/12/2010, 19:02
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
Respuesta: Conexion a tres motores de base de datos

yo en mi blog tengo una clase que creamos entre varios usuarios de este foro, extiende de PDO por lo que tiene para conectar con varios motores de base de datos entre ellos lo que indicastes, si gustas puedes echarle un ojo, eso si yo mas que todo la he trabajado con MySQL, pero seria cuestion de hacer los cambios necesarios, saludos aca el articulo
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #5 (permalink)  
Antiguo 19/12/2010, 20:23
 
Fecha de Ingreso: mayo-2005
Mensajes: 201
Antigüedad: 19 años, 6 meses
Puntos: 2
Respuesta: Conexion a tres motores de base de datos

Si lo que necesitas es conectar y trabajar con diferentes tipo de BD que controlan un mismo modelo de datos pues esta pdo, o los ORM propel y doctrine que ya son proyectos maduros.
Ahora que si lo que andas buscando es que tu aplicacion tenga alta disponibilidad pues ese es otro tema que necesitas ver en cada una de las bd que vas a trabajar y ya es tema de proteccion de datos y disponibilidad. Busca en google por High availability y Replication.
__________________
Saludos!
Mty-NL..
  #6 (permalink)  
Antiguo 19/12/2010, 23:34
 
Fecha de Ingreso: diciembre-2010
Mensajes: 4
Antigüedad: 14 años
Puntos: 0
Respuesta: Conexion a tres motores de base de datos

sin duda un excelente codigo.. pero crees k se pueda hacer esto mediante una interfaz?.. io utilizo adodb para la conexion... ps tengo ese dilema de realizarlo atraves de una interfaz... y que si se detiene el servicio de un gestor me permita atraves de una ventana sin ingresar al codigo fuente cambiar de gestor..

Etiquetas: abstract, conexion, factory, obejtos, orientado
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:18.