Esta sección contiene preguntas comunes sobre la
relación entre PHP y bases de datos. SÃ, PHP puede
acceder a prácticamente cualquier base de datos disponible
hoy en dÃa.
2. ¿Puedo acceder a bases de datos Microsoft
Access?
Si. Usted ya tiene todas las herramientas necesarias si
está corriendo enteramente bajo Windows 9x/Me, o NT/2000,
en donde es posible usar ODBC y los controladores ODBC para
bases de datos Microsoft Access.
Si está corriendo PHP en una máquina Unix y desea
comunicarse con MS Access en una máquina Windows,
necesitará controladores ODBC para Unix. OpenLink Software tiene
controladores ODBC basados en Unix que tienen esa
capacidad. Existe un programa piloto gratuito en donde puede
descargar una copia de evaluación que no expira y los
precios comienzan en $675 para la versión con soporte
comercial.
Otra alternativa consiste en usar un servidor SQL que tenga
controladores ODBC Windows y usarlo para almacenar los datos, a
los cuales puede acceder desde Microsoft Access (usando ODBC) y
PHP (usando los controladores incorporados), o usar un formato
de archivo intermedio que Access y PHP entiendan, como archivos
planos o bases de datos dBase. Sobre este punto, Tim Hayes de
OpenLink software escribe:
Usar otra base de datos como intermediario no es una buena
idea, cuando es posible usar ODBC desde PHP directamente a su
base de datos - es decir, con los controladores de
OpenLink. Si realmente necesita usar un formato de archivo
intermedio, OpenLink ha lanzado ahora Virtuoso (un motor de
bases de datos virtual) para NT, Linux y otras plataformas
Unix. Por favor visite nuestro sitio web para una descarga
gratuita.
Cree un usuario o dsn de sistema en su administrador de ODBC,
ubicado en el panel de control. Cree un nombre dsn, ingrese
su nombre de host, nombre de usuario, contraseña,
puerto, etc. para su base de datos MySQL configurada en el
paso 1.
Instale Access usando la instalación completa, esto
asegura que tenga las elementos adicionales apropiados.. por
lo menos requerirá el soporte ODBC y el gestor de
tablas enlazadas.
Es posible construir sus tablas en Access y exportarlas a
MySQL, y luego enlazarlas de vuelta. Esto facilita la
rápida creación de tablas.
Cuando se crean tablas en Access, es necesario tener una
llave primaria definida para tener acceso de escritura a la
tabla en access. Asegúrese de crear una llave primaria
en MySQL antes de enlazar en access.
Lo más posible es que PHP 4 haya sido compilado con la
opción --with-mysql,
sin especificar la ruta a MySQL. Esto quiere decir que PHP
está usando su biblioteca cliente de MySQL
incorporada. Si su sistema está ejecutando aplicaciones,
tales como PHP 3 como un módulo concurrente de Apache, o
auth-mysql, que usan otras versiones de cliente MySQL, entonces
existe un conflicto entre las dos versiones diferentes de esos
clientes.
Si. Siempre habrá soporte MySQL en PHP en una forma u
otra. El único cambio en PHP 5 es que ya no distribuimos
la biblioteca cliente como tal. Algunas razones, sin orden
alguno en particular:
La mayorÃa de sistemas en la actualidad ya tienen la
biblioteca cliente instalada.
Dado lo anterior, tener versiones múltiples de la
biblioteca puede causar problemas. Por ejemplo, si enlaza
mod_auth_mysql contra una versión y PHP contra otra, y
luego habilita ambos en Apache, obtendrá un bonito y
gordo fallo. Asimismo, la biblioteca distribuida no siempre
jugaba bien con la versión del servidor instalada. El
sÃntoma más obvio de esta situación es el
desacuerdo sobre el lugar en donde encontrar el archivo de
sockets de dominio Unix mysql.socket.
Su mantenimiento era un poco laxo y estaba quedándose
cada vez más atrás de la versiones lanzadas.
Las versiones futuras de la biblioteca están bajo la
GPL y por lo tanto no contamos con una ruta de
actualización, ya que no podemos distribuir una
biblioteca GPL en un proyecto con licencia tipo BSD/Apache. Un
corte limpio en PHP 5 parecÃa la mejor opción.
Si sus bibliotecas de MySQL están enlazadas contra
pthreads ocurrirá esto. Verifique usando ldd. Si lo
están, obtenga las fuentes de MySQL y compile desde
allÃ, o re-compile desde el rpm fuente y elimine el
conmutador en el archivo spec que habilita el código de
cliente con hilos. Cualquiera de estas sugerencias
solucionará el problema. Luego recompile PHP con las
nueval bibliotecas MySQL.
Atención técnica y comercial: (54)-11-5031-1111 las 24 hs. los 365 días del año. ToWebs, (c) 2008
Virtucom Networks S.A Av. Belgrano 1586, piso 10 (C1093AAQ) Cap. Fed. Bs. As, Argentina.