Foros del Web » Programando para Internet » ASP Clásico »

Ayuda con conexion a dos bases de datos

Estas en el tema de Ayuda con conexion a dos bases de datos en el foro de ASP Clásico en Foros del Web. Hola a todos espero que alguien me pueda ayudar mi problema es el siguiente Tendo una base de datos en Interbase y otra en access ...
  #1 (permalink)  
Antiguo 26/07/2004, 10:12
Avatar de Fabu_dina  
Fecha de Ingreso: enero-2004
Mensajes: 425
Antigüedad: 21 años, 3 meses
Puntos: 1
Exclamación Ayuda con conexion a dos bases de datos

Hola a todos espero que alguien me pueda ayudar mi problema es el siguiente


Tendo una base de datos en Interbase y otra en access

La primera la tengo que usar asi ya que de ahi viene la informacion de un software comercial la segunda es donde parametrizo mis datos para no modificar la primera.
En Interbase tengo una lista de articulos y en la segunda tengo la misma lista pero con un campo donde expreso si el articulo esta activo o no (si se vaa mostrar en la pagina) ok Los String de conexion no son el problema eso ya esta resuelto.

Mi situacion es la siguiente necesito hacer una consulta mezclando las dos bases de datos y forzando es decir:

A--- base de Interbase
B--- base de acces

ambas con una tabla llamada articulos con un campo comun que es numero_articulo en Interbase saco los datos del articulo y en access veo si esta activo no para mostrarlo en la pagina de esto depende un Count que necesito para poder paginar los regisros a mostrar y despues hacer un ciclo para mostrar los registros.

Espero ser claro y alguien me pueda ayudra ya que esto es algo Urgente



Gracias y Saludos
  #2 (permalink)  
Antiguo 26/07/2004, 10:26
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
No puedes hacer un Inner Join con BD's de diferente plataforma o Tablas de diferente Motor de bases de datos, solo que hagas una rutina intermedia que exporte una de las tablas a la otra base de datos.
  #3 (permalink)  
Antiguo 26/07/2004, 10:28
Avatar de Fabu_dina  
Fecha de Ingreso: enero-2004
Mensajes: 425
Antigüedad: 21 años, 3 meses
Puntos: 1
me imagine esto pero mi tabla de articulos es de mas de tres mil esta rutina tendria que ejecutarse cada vez que actualizas la pagina entonces hari muy lenta la consulta estamos de acuerdo alguna sugerencia de codigo????
  #4 (permalink)  
Antiguo 26/07/2004, 10:36
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Bueno, supongo que no tienes permisos en Interbase, ya que si no hubieras alterado la tabla con el campo que utilizaste en Access. Una sugerencia (bueno, podemos meditarla) es simular una especie de consulta "desconectada", es decir, leer todos los registros relacionados una sola vez y guardarlos en un arreglo de session o un objeto igual de session, en ese objeto modificar y actualizar los estatus y al finalizar la sesion actualizar la tabla de Access.
¿Tienes mucha concurrencia?, ¿Cómo ves esta alternativa?, yo preferiria evitar hacer esto pero igual funcionaría. Solo hay que tener en cuanta el coste al servidor que esto representaría.
  #5 (permalink)  
Antiguo 26/07/2004, 10:46
Avatar de Fabu_dina  
Fecha de Ingreso: enero-2004
Mensajes: 425
Antigüedad: 21 años, 3 meses
Puntos: 1
No es que no tenga permiso si lo puedo hacer pero no me gustaria ya que esta base es independiente y pertenece a un software comercial

Recurrencia llegara un momento en que si po esto no me gustaria ya que lo haria muy lento no crees
  #6 (permalink)  
Antiguo 26/07/2004, 10:52
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Otra alternativa es solo trabajar con SQLServer (exportando la de Access) y actualizar la otra tabla con una tarea programada todos los dias a las 0:00. No creo que implicara mucho problema para la mayoria de las consultas; claro esto solo se puede decidor despues de hacer un análisis de que tan viable sea esto. La tarea programada se podría emular con la BD. Access, no se, con alguna rutina que se ejecute la primera vez que alguien entre al sitio cada dìa.

¿cómo ves esta otra alternativa?
  #7 (permalink)  
Antiguo 26/07/2004, 10:55
Avatar de Fabu_dina  
Fecha de Ingreso: enero-2004
Mensajes: 425
Antigüedad: 21 años, 3 meses
Puntos: 1
me parece mas interesante el actualizar con la primera visita
  #8 (permalink)  
Antiguo 26/07/2004, 11:15
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Bueno, eso serìa con el global.asa, serpia algo mas o menos así:
Sub Application_OnStart
application.lock
application("fecha")=date()
Application("Usuarios") = Application("Usuarios") + 1
if Application("Usuarios") =1 Then
....rutina de actualizacion ...
End If
application.UnLock
End Sub

Sub Session_OnEnd
End Sub

Se me ocurrio así de rápido, deja hago unas pruebas y te paso el código correcto
  #9 (permalink)  
Antiguo 26/07/2004, 15:50
Avatar de Fabu_dina  
Fecha de Ingreso: enero-2004
Mensajes: 425
Antigüedad: 21 años, 3 meses
Puntos: 1
gracias de hecho ya soluciones algo tambien puedo agregar una tabla al interbase y ahi si podemos hacer algo interno pero de todos modos me serviria mucho esta rutina

Lo que tengo que hacer es checar primero si existe la tabla en interbase y si no crear y despues hacer la actualizacion para poder esta aplicacion intalarla en cualquier base de datos y no modificar la estructura de forma manual

Gracias por tu ayuda
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 21:33.