Foros del Web » Programando para Internet » PHP »

Conectarse a base de datos local

Estas en el tema de Conectarse a base de datos local en el foro de PHP en Foros del Web. Ante todo muy buenas, tengo el siguiente problema y se como tirar para adelante, os explico: Tengo en videoclub un programa de gestion del videoclub ...
  #1 (permalink)  
Antiguo 26/10/2004, 01:42
 
Fecha de Ingreso: octubre-2004
Mensajes: 12
Antigüedad: 19 años, 6 meses
Puntos: 0
Conectarse a base de datos local

Ante todo muy buenas, tengo el siguiente problema y se como tirar para adelante, os explico:
Tengo en videoclub un programa de gestion del videoclub que guarda los datos en una base de datos access, y ahora quiero crearme una web del videoclub que haga lo siguiente: cuando cargue la web que se conecte desde internet a la base de datos haga una consulta y ponga en la web si esta disponible o no.

He visto información al respecto en internet y creo que los tiros podrian en utilizar una conexión ODBC o algo asi.

¿alguien me puede orientar de como hacerlo y conectarme a través de PHP con una base de datos local en mi PC de Access.

Saludos y espero que me haya explicado bien.

Gracias.
  #2 (permalink)  
Antiguo 26/10/2004, 05:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si ejecutas PHP en el mismo PC (o red) que tienes esa BD Access vía ODBC podrías accederla sin problemas.

Es decir ... tu conexión a internet (con su dominio asociado si corresponde y demás) será el que uses para "servir" tu aplicación completa.-

Access no está preparado para accederlo de forma "remota" (con cierto ODBC o driver tal vez .. pero no es lo común) .. Si pudieras migrar tu aplicación a MS Access (como para usarla con la aplicación que ya usas) podrías accederla desde PHP de forma remota (desde tu servicio de hosting -> TU bd )

Un saludo,
  #3 (permalink)  
Antiguo 26/10/2004, 05:59
 
Fecha de Ingreso: octubre-2004
Mensajes: 12
Antigüedad: 19 años, 6 meses
Puntos: 0
O sea que eso de odbc solo sirve si la base de datos esta en un servidor??? es que me he metido en el panel de control, en herramientas del sistema y he visto origenes de datos, y me he dicho ¡ esto a lo mejor es para establecer una conexion y poder consultar una base de datos desde internet!!!! pero entonces eso para que sirve????

Tambien he visto que hay algo que se llama asi odbc socket server que lo que hacer es crear una conexion con una base de datos, no se si eso me servira

¿Pueden ir por ahy lo tiros?????

Saldudos
  #4 (permalink)  
Antiguo 26/10/2004, 06:46
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Creo que tienes liados el concepto "remoto" y "local". Piensa como si estuvieses en el servidor web. Si tu servidor web esta en internet, y quiere comunicarse con la BD de tu equipo que tienes en casa, para el servidor web es conectarse a una BD remota (respecto a el). Con ODBC puedes especificar BD remotas, siempre que el tipo de BD lo permita. No me suena que M$access permita conexiones cliente/servidor (lo que haces es acceder a un fichero remoto, no un servidor), asi que dudo que sea una buena opcion. Mejor usar una BD con servidor (MySQL, M$SQL server, Posgres, ... casi todas menos access ).

El segundo requisito es que tu equipo (tu BD) sea accesible desde tu servidor web. Eso significa que el servidor web debe saber la IP de tu equipo, y ser capaz de acceder a el. Es decir, si quieres que que la pagina funcione 24horas al dia, el equipo con la BD debe estar encendido y conectado a internet las 24horas. Ademas, tendrias ese equipo abierto a internet (en menor o mayor grado), con los problemas de seguridad que ello conlleva. Mas o menos, una extranet.

Tambien podrias montar el servidor web en tu equipo local (u otro de la red local), con todo lo que supone eso (conexion decente, medidas de seguridad, ...).

Dependiendo los requisitos, podrias tener una solucion mas sencilla/segura. ¿La BD solo se actualiza en tu BD local por accion en tu equipo local? Entonces podrias modificar la aplicacion que realiza esa actualizacion en la BD local para que mande la modificacion a la BD remota (ya sea directamente o por medio de un script PHP en el servidor que reciba los datos, ya sea con POST o usando XML-RPC o SOAP). Si no puedes modificar la aplicacion de actualizacion, siempre podrias crear un programa local que se ejecute periodicamente en el equipo local (cada x minutos) que monitorice la BD y cuando detecte algun cambio lo actualice en la BD del servidor web (como en el caso anterior).

Si de noche no se realizan modificaciones, el equipo local puede estar apagado, porque el servidor web usa su propia BD con la ultima actualizacion enviada por la aplicacion local (tendrias que hacer que al cerrar la aplicacion o al apagar el equipo se envie la ultima actualizacion).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 26/10/2004, 07:17
 
Fecha de Ingreso: octubre-2004
Mensajes: 12
Antigüedad: 19 años, 6 meses
Puntos: 0
Josemi gracias por la respuesta, la verdad es que si que estaba confundido con el tema de local y remoto. Con lo que me has dicho la verdad es que tiene mala pinta el tema ya que la aplicacion no la puedo modificar y el tema de hacer una aplicacion nueva no, porque no se programar bien, se algo de c++ builder pero poco. El tema de tener el ordenador enchufado todo el dia ya lo suponia. ¿si pongo mi ordenador de servidor, con apache, php, etc... y le digo que la cerpeta del servidor es donde tengo la base de datos, ¿se puede hacer? lo digo porque seria una alternativa.

De todas las maneras, voy a seguir investigando, lo del odbcsocketserver a ver si consigo algo.

Si consigo conectar con la base de datos sin necesidad de poner apache o algo asi, a lo mejor se podria hacer una copia de la base de datos remota al servidor que ya no hay que actualizar y redireccionar la web a la copia de la base de datos por las noches.

Saludos
  #6 (permalink)  
Antiguo 26/10/2004, 07:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si usas otro PC (o el mismo) en red con ese PC de tu negocio donde tienes corriendo tu BD access .. podrías hacer una conexión ODBC simple (DSN de archivo) a tu BD acces y accesarla con PHP (instalando en ese PC "servidor" Apache (un servidor HTTP) + PHP mínimo).

Eso implica todo lo mencionado sobre conexión permanente a internet .. IP fija o creación de DNS dinámicos (en servicios como www.ods.org o similares) o apuntar tu domino de internet a esa IP "fija" o similares redireccionamientos. + Todo el tema de seguridad mínima que debes tener.

Un saludo,
  #7 (permalink)  
Antiguo 26/10/2004, 12:31
 
Fecha de Ingreso: octubre-2004
Mensajes: 12
Antigüedad: 19 años, 6 meses
Puntos: 0
Mejor utilizo el odbcsocketserver y no necesito todo el tema de servidores, ya he encontrado informacion del odbcsocketserver y lo que hace es algo asi como crear una clase de php, abre un puerto en la computadora para que se conecte con la base de datos e interacciona con php.

Saludos, si alguien sabe algun ejemplo de lo del socket, que me lo comente.

Gracias por la respuesta
  #8 (permalink)  
Antiguo 26/10/2004, 13:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pero .. ese "socket" como tal igualmente vas a tener que tener ese PC conectado a internet (la conexión se hace a cierta IP y puerto) y .. dependiendo de como hagas tu "socket" (podría ser en PHP .. o en C o en Visual Basic .. etc ...) así necesitará de más cosas.

Un saludo,
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 00:47.