Foros del Web » Programando para Internet » PHP »

PHP y MS Access

Estas en el tema de PHP y MS Access en el foro de PHP en Foros del Web. Antes de nada, saludo a todos los forofos, pues este es mi primer post. Me enfrento a un pequeño problema. Tengo una base de datos ...
  #1 (permalink)  
Antiguo 15/05/2006, 06:29
 
Fecha de Ingreso: mayo-2006
Mensajes: 8
Antigüedad: 11 años, 7 meses
Puntos: 0
PHP y MS Access

Antes de nada, saludo a todos los forofos, pues este es mi primer post.

Me enfrento a un pequeño problema. Tengo una base de datos en MS Access y necesito que sea accesible desde web, para ver los informes, etc, PERO, y aqui viene la gorda, el servidor Web en el que estará la base de datos es un servidor Linux RedHat que obviamente trabaja en PHP.

¿A que problemas me enfrento? Como anda de compatibilidad? Cual sería la solución óptima y cual la más sencilla?

Cualquier tipo de ayuda es más que bienvenida. Un saludo
  #2 (permalink)  
Antiguo 15/05/2006, 12:41
Avatar de jpogsistem  
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 16 años
Puntos: 4
Que tal Master, Bienvenido al Foro.

Varias cosas :

Access en Linux no creo que sea posible.

Cuando mecnionas Informes supongo que estás asumiendo que puedes poner en web el access con todas sus vistas, informes y elementos tal y como lo ejecutas en una PC o una LAN, y eso no creo que se pueda.

Access desde la versión 2000 creo que trae algo para la publicación web y una vez vi lgo con unas opciones dinámicas que se veían interesantes, pero esto solo es compatible sobre un server con Windows, con IIS como servidor Web y con Lenguage ASP y las extensiones del Front Page Instaladas.

Creo que tienes que evaluar que te conviene o que cambio se va a hacer en tu proyecto o en tu BD.

Ya php corre con Access sobre una conexión ODBC que hace mas lento todo.

Una combinación Access + PHP es posible sobre un sistema Windows con IIS

ahora lo ideal es que te pases de lleno, es decir migres tu Access a Mysql y sobre Linux..........es un Ferrari.

Adicionalmente Access tiene poblemas de "Naturaleza" como Base de Datos, y aunque muchos aprendimos con ella, empresarialmente no es lo recomendable, ya que la ponerla Online hay que estar muy despiertos con la seguridad, Soporta concurrencia hasta 256 usuarios y al ser una BD basada en archivos empieza a tartamudear luego de 2 Gigas (Esto lo leí en un manual de Macromedia).

Bueno, si tienes comentarios adicionales pueden plantearse otros conceptos.

Saludos.
__________________
EL LIMITE ES EL UNIVERSO
  #3 (permalink)  
Antiguo 15/05/2006, 13:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Access puedes accederlo desde Linux .. pero con muchos detalles a tener en cuenta:

1) Access (el .mdb) ha de estar o en el servidor que corre PHP o bien en la misma LAN (red). No es posible vincularlo (llamarlo) por TPC/IP directamente (al DSN creado).

2) Tu S.O. Linux debe correr el Driver ODBC para Linux de Access (OpenODBC creo que te serviría).

Bueno .. y luego tendras todos los problemas própios de Access: n° de usuarios, conexiones .. etc.

Es más recomendable que "publiques" hacia una BBDD Mysql por ejemplo ciertos datos o incluso una "répilica" o mirar de migrar a otro motor de BBDD con acceso TCP/IP tipo Mysql, MS SQL Server ... etc.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 16/05/2006, 02:49
 
Fecha de Ingreso: mayo-2006
Mensajes: 8
Antigüedad: 11 años, 7 meses
Puntos: 0
Agradecimientos y más

Gracias por las ayudas, me han aclarado muchas cosas.

Sería factible y/o/u recomendable lo siguiente?:
- Tener dos bases de datos, una en MySQL y la otra en Access
- Trabajar desde webphp en la de MySQL y actualizar "en tiempo real" la de Access

Que os parece? Y sobre todo, como podría hacerlo?
  #5 (permalink)  
Antiguo 16/05/2006, 07:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Realmente ya estás en un punto que debese plantearte migrar hacia otro motor de BBDD que no sea Access.

Por si acaso te comento, por si tienes ya una aplicación access funcionando, que con access y vía ODBC (es sí tal vez no disfrutes de todas las funcionalidades) puedes acceder a Mysql ... en ese caso deberías instalar el driver ODBC al cliente (o clientes) que ejecuten esa BBDD access y así conectas tu aplicación actual en Access por ODBC a las "tablas" (mejor dicho BBDD remota) Msyql (en el driver ODBC y cuando creas el DSN adecuado tu indicas el "host, usuario y password" de tu BBDD, esté donde esté vía TPC/IP)

El driver ODBC de Msyql es gratuito y lo puedes obtener en www.mysql.com

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 17/05/2006, 02:23
 
Fecha de Ingreso: mayo-2006
Mensajes: 8
Antigüedad: 11 años, 7 meses
Puntos: 0
De nuevo Cluster, gracias por tu ayuda.
  #7 (permalink)  
Antiguo 26/06/2006, 18:11
Avatar de lokates  
Fecha de Ingreso: julio-2004
Ubicación: Andalucía
Mensajes: 6
Antigüedad: 13 años, 5 meses
Puntos: 0
Hola, a todos
Tengo un problema que me acucia y en el que no había caido hasta ahora y empieza a darme dolor de cabeza.
En la empresa en la que trabajo, los datos están un fichero de Access y mi jefe se empeño en que la página web de la empresa recuperará los datos en esa BD. Tenemos un servidor de PHP sobre Linux y le dije que en principio no habia problema porque sabia que PHP se conectaba mediante ODBC a MS Access y migrar los datos a otra base de datos parece imposible porque mi jefe sólo conoce Access y parece que no muy bien, pero bueno.
El caso es que la aplicación está en fase de desarrollo avanzado y ahora (me podia haber ahorrado trabajo ) me he dado cuenta que el ODBC no permite hacer una conexión externa desde el servidor de Linux hacia nuestro servidor de ficheros....... ¿ o sí ?.
Estoy realmente desesperado. He ojeado ADOdbLite pero no consigo aclararme si con ella podré conectarme desde el exterior o si soporta siquiera a Access.
Alguna idea. Porque como no le de una solución simple esto me cuesta la posibilidad de ascenso seguro.

Gracias
  #8 (permalink)  
Antiguo 27/06/2006, 09:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
El standard ODBC es así .. No es un "socket" TCP/IP para que te conectes desde "internete" a tu BBDD "local" que tienes en tus servidores desde los servidores que corren en Linux y tienes en un servicio de hosting.

Por ende .. classes como ADOdbLIte .. ADOdb o odbc_xxxx() funciones de PHP se conectan a un "DSN" creado en tu servidor .. Si tu en tu servidor "LInux" instalas los drivers ODCB (lo tendrá que hacer tu proveedor no tu ..) y subes tu .mdb a tu servidor .. ahí podrás usar todas esas funciones o classes para trabajar con Access.

Por eso mismo "existen" las BBDD con acceso TCP/IP directo como puede ser MS SQL Server (podrías pensar en cambiar tu Access a MS SQL Server minimo ..) o Mysql .. PostgreSQL, Oracle .. etc.

Si aun así pretendes conectarte en forma remota a una fuente de datos ODBC tendrías que conseguirte un "puente" o Socket ODBC como los que proporciona esta empresa (algo caros!!!!):

http://www.easysoft.com/products/data_access/index.html

Podrías probar también esta solución:
http://odbcsock.sourceforge.net/

Insito que te vale la pena migrar tu aplicación a Mysql o MS SQL Server .. desarrollarla en Visual Basic o Access incluso como ya lo tienes hecho y desde tu servidor en Linux conectarte a Mysql o MS SQL Server por TPC/IP simplemente (eso sí .. si usas MS SQL Server necesitaras que tu servidor soporte mssql_xxxx() funciones por su respectiva extensión y/o un "TDS" instalado (como FreeTDS) .. esto tendrás que consultarlo con tu provedor)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 08:10.