¿PHP+MS-Access mejor que PHP+MySQL?
Ayer me han me han comentado que eso dijo un profesor/a (no sé quién) en una asignatura de informática de la UIB: el PHP con el Access es más sencillo que con el MySQL.
Evidentemente está muy confundido/a. Por si algún día lee este post, le aclararé unas cuantas diferencias.
- La principal: el PHP y MySQL son software libre, el MS Access es todo lo contrario.
- El MySQL es un gestor de BBDD relacional completo, MS Access no tiene punto de comparación.
- El MySQL es multiusuario, multiprogramado, con arquitectura cliente-servidor y control de privilegios de acceso. Por eso tiene que ser más “complejo” que el Access.
- El Access no es la herramienta adecuada para desarrollo web, sobre todo porque no está pensado para ser multiusuario y con accesos y modificaciones concurrentes. Vale para hacer unas cosas simples de sólo lectura, pero para eso tampoco hace falta un gestor de BBDD.
- Si lo interesa es hacer cosas simples, allí tiene el PHP con SQLite. Que a pesar de su sencillez y “configuración cero”, tiene características cómo transacciones ACID (atómicas, consistentes, aisladas y durables), casi completamente compatible con SQL92, multiplataforma y compatible con arquitecturas big o little endian, bases de datos de hasta 2 Terabytes, BLOBs ilimitados… acceso desde múltiples lenguajes, etc. etc. etc.
- ¿Ya mencioné que el SQLite es software libre? ¿Mencioné que es “dominio público”?
Un cas: em telefonen per “arreglar” una base de dades Access que està a un servidor remot.
Per reparar-lo havia de copiar la BDD i portar-la fins a un PC local o accedir-hi remotament.
Al PC local calia un Access. No en tinc, a casa només usem BDD de veritat. A més, ja està al servidor, no? Per a què més llicències si no hi treballo –a més el trobo caríssim: està en El MS Office ’superior’ i val uns 700 Eur: http://www.fnac.es/especiales/Microsoft/productividad.jsp
Resulta que havia d’anar fins allà (als USA, estava el servidor) o entrar-hi amb un control remot tipus PC Anywere o VNC. Com, a un servidor compartit, agafar l’escriptori?! Suposo que més gent hi té problemes i també entra… cal fer coa? L’escriptor de Windows no és pas multiusuari.
I és que Access és un producte d’escriptori i no de servidor i xarxa. No permet trebalalr amb ell a distància, a base d’econòmiques i eficients ordres de línia de comandaments (com el client de text “mysql”). Tampoc té interfície web, com el phpMyAdmin pel MySQL.
Penós, que hi hagi professors que limiten els coneixements dels alumnes al que ells coneixen, aprés a un PC de la Senyorita MS-Pepis.
Comment by Benjamí — Tuesday 30/11/2004 @ 18:17
A quien se le pude ocurrir tal barbaridad de juntar mmsacces con php. A parte de que uno es de pago y el otro no. El motor de base de datos de access es mucho mas lento y mas complicado y necesita de unos drivers ODBC para conectarse. Se tarda mas tiempo en intentar programar una web con php y access (SI SE PUEDE HACER) cosa que dudo ya que el apache no contiene ninguna libreria dll q se llama access.dll y dudo mucho que microsft lo suelte. Programar una pagina web con bases de datos solo se necesitan unos conocimientos minimos de sql y de modelaje de base de datos, y conocimientos de html.
Comment by NoWIndows — Wednesday 1/12/2004 @ 16:39
A parte de lo que que se ha comentado, a principios de verano estuve mirando el tema de cómo recoger los datos de un fichero Access (sobre linux, of course), con el propósito de poder insertarlos en una base de datos MySQL, pero no lo conseguí. Sólo vi dos opciones, o bien ayudarme de las herramientas proporcionadas por mdbtools, o bien montarme el acceso a través de unixODBC. El resultado fue triste, o más bien patético. Sólo me fue bien recuperar los datos de los campos numéricos o de texto fijo, nada de campos memo, y también tenía problemas con los carácteres acentuados… ah !, y encima de las primeras versiones de Access (9X), porque de las más modernas, ni hablar del peluquín !
Si este “profesor” consiguió lo que ha dicho sobre linux, que nos cuente su secreto !
Comment by Xus — Thursday 2/12/2004 @ 3:12
Yo solía usar MySQL hasta que migré a Firebird (que también es Open Source, y además es gratuito). Lo que debo decir, es que Access, permite cosas que de momento no están disponibles en las versiones finales de MySQL.
Comment by Guti — Saturday 4/12/2004 @ 15:29
¿El Access es más libre que el MySQL? ¿El Access hace más cosas que el MySQL? Ostras, qué cosas…
Comment by ricardo — Saturday 4/12/2004 @ 16:05
Lo que debes hacer para migrar de access a mysql es mediante un algoritmo crear una clausula de insercion es decir
hacer una instruccion que genere un artchivo ‘lano que traiga registro a registro con una clausual intert de codigo php y luego ejecutarla en tu servidor al archivo plano.php que generes
Comment by Henry — Wednesday 15/12/2004 @ 17:31
code follows…>
$db_connection = new COM(”ADODB.Connection”);
$db_connstr = “DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=”. realpath(”../database.mdb”) .” ;DefaultDir=”. realpath(”../”);
$db_connection->open($db_connstr);
$rs = $db_connection->execute(”SELECT this, and_that FROM some_table”);
$rs_fld0 = $rs->Fields(0);
$rs_fld1 = $rs->Fields(1);
while (!$rs->EOF) {
/* do some stuff with the results to make it look nice on screen */
/* but as an example… */
print “$rs_fld0->value $rs_fld1->value\n”;
$rs->MoveNext(); /* updates fields! */
}
$rs->Close();
$db_connection->Close();
Comment by Asrujit Mohanty — Sunday 6/3/2005 @ 20:04
yo tengo una base de datos access ; pero ahora tengo q hacer un sistema deistribuido cliente /servidor q utilice la base de datos de access obviamente xq ahi estan todos los datos, ahora viendo la clasica idea de php con mysql como creo la mas obvia podria migrar lod e access a mysql ; pero preferira ahorrarme la molestia, asi q esa idea de php con access suena bien , pues php si podria coinectarse access ; pero el servidor apache es otro asunto al parece, no me hago oproblemas de licencia de acces pues ya esta comprada , pero la licencia de otro software windows para conectarme al access seria lo tristepor eso mejor esta el php , asi q si alguien me puede decir como se hace eso seria excelente, sino caballero tendre q mirar lo de acces al fukkin Mysql o a otro gestor lo cual siempre ocasiona algun problema.
tu q harias?
Comment by jos — Tuesday 26/4/2005 @ 18:54
Hola , Ricardo, tengo un problema y te agradecería mucho si me pudieras echar una mano. El caso es que tengo que conectarme a dos BBDD, Oracle y Access con servidor Weblogic sobre Linux.
Los problemas vienen por la conexión con la BBDD Access.
En mi pc realmente, no he tenido muchos problemas, encontré en Internet un driver, que funciona, pero al llevarlo a Linux falla, y creo que el motivo es la cadena de conexión a la BBDD, ya que hay que especificar la ruta física a la misma(jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\datos\ContrulOfi.mdb). (Reconozco que de Linux no tengo ni idea).
Si he omitido cualquier dato que pudieras necesitar no dudes en pedírmelo.
Gracias de antemano.
Un saludo
Comment by Alex Ellacuria — Wednesday 4/5/2005 @ 17:10
Nunca he usado Access.
Comment by gallir — Wednesday 4/5/2005 @ 18:02
Hola, Ando en busca de software libre para programar. Tengo un sistema realizado en ACCESS, el el cual se ha comenzado a poner lento, me imagino que por la cantidad de datos que manejo. Quisiera me recomendaran el producto que puedo utilizar, tomando en consideración que obligatoriamente debo mi migrar a Software Libre. Por supuesto que no sea tan traumático el cambio y que me ayude a tener una plataforma robusta y confiable. MUCHAS GRACIAS.
Comment by Oscar — Wednesday 29/6/2005 @ 14:18
hola tengo un problema con mysql.. en mi webpage, los usuarios generan muchas querys… y despues de eso las querys pasan a un estado sleep, hay manera de acabar con ese estado sleep de inmediato??
no utilizo conexiones persistentes, sino NOpersistentes ya que me conecto con la funcion mysql_connect….. cierro el enlace mysql_close() al final del codigo y ademas libero todos los resultados con mysql_free_result()
bueno mi problema es ese, el servidor se vuelve lento por tanta query y porocesos en estado sleep, como puedo evitar ese estado del proceso, utilizo en la bd tablas tipo MyIsam… cambiar de tipo.. seria una solucion? en que me beneficiaria?? bueno espero alguien pueda solucionar mi problema
www.ruta52.com/procesos.php
Comment by alex — Monday 4/7/2005 @ 20:13
Bueno si alguien lee este mensaje, si estoy deacuerdo en la superioridad de Mysql, sobre Ms access, y bueno por increible q parezca , aun existe gente q sigue en la linea de desarrollar una BD en access para una aplicacion web de paso con php,
hace un momento mi jefe me pidio exactamente, lo mismo, un formulario en php para ingresar datos en una bd ms access, .. en fin me da igual, lo q le interesa es el entorno visual asi q los mas probable es q desarrolle todo en mysql y q sea el el q se conecte desde access con Myodbc y odbc
Comment by RadiantXD — Saturday 16/7/2005 @ 12:38
Las versiones LIBRES de MySQL carecen de vistas (views), procedimientos almacenados y desencadenantes. Y sorpresa sorpresa, las versiones que soportan este tipo de funcionalidades no son gratis, es decir, las cobran, ja ja, donde esta la tan famosa libertad.
Si solo quieres un manejador de datos gratuito que guarde datitos, ese es MySQL, si requieres algo más robusto (vistas, sp, triggers, transacciones, etc) esta Oracle o hasta el tan odiado MS SQL Server.
Comment by Pedross — Wednesday 27/7/2005 @ 1:40
Los que dices no son libres, tienes firebird o postgres.
Comment by gallir — Wednesday 27/7/2005 @ 1:45
De acuerdo, postgres es una muy buena opción de SW libre con mucha funcionalidad, pero MySQL (sin conciderar BD MAX u otros, los cuales ya te cobran) no tienen VW, SP, TG, etc.
Por supuesto que Oracle y MS SQL Server te cuestan un ojo de la cara, salvo que seas una empresa como Coca Cola con uná montaña de billetes.
Comment by Pedross — Wednesday 27/7/2005 @ 1:57
PostGres es muy poderosa, en diversas evaluaciones por poco alcanza a Oracle, aunque claro, ésta última siempre gana cuando se trata de cantidad de usuarios y cantidad de información.
Ahora, entre MySQL y Postgre, la última se lleva las palmas por cuestiones como Triggers y Store Procedures (que además pueden ser escritos en una diversidad de lenguajes exquisita), y para cualquier programador con olor a OOP hablar de sobrecarga de operadores es para chuparse los dedos.
Sobre el tema principal .. PHP + Access es posible y puede ser necesario en hambientes donde existen soluciones de escritorio (En Access) con un costo de desarrollo mínimo y casi nulo mantenimiento y se desea replicar la información de dicha app en internet.
Personalmente tengo un proyecto donde necesito brindar una interface rica e inteligente para la recolección de datos (Access se pinta solo para esto) y después necesito exponer esos datos a unos cuantos usuarios vía internet.
Claro que se puede lograr con ASP, Java, etc, pero PHP es muy rápido y fácil de aprender (Access en scripting), ahora que si quieren PODER look at Python
Pa terminar, por ahí leí de la necesidad de replicar datos desde y hacia Access/MySQL, actualmente existe una herramienta llamada MySQL Migration Toolkit que hace que el proceso sea un paseo por el parque, y sobre las caracteristicas deseables de MySQL vean MySQL 5 (yumm)
Comment by Some Mexican Geek — Monday 12/9/2005 @ 22:57
Hola a todos, necesito de su ayda…. soy novato en esto de Bases de datos y Aplicaciones WEB Cliente - Servidor, pero resulta que en estos momentos estoy pensado en emplear un sistema de en el que los usuarios puedan insertar, modificar y eliminar registros de mi base de datos de MS-Access que cada dia crece mas…. lo estoy desarrollando con paginas ASP, pero quisiera saber si Acces es la mejor opcion para desarrollar este sistema ya que los comentarios q he leido me han dejado mucha duda… ¿seria bueno que migre a MySQL o a otro mejor? ¿Basicamente cual es la desventaja de utilizar una BD de Access? ¿Que quieren decir con software libre?
Comment by Rafael — Thursday 22/9/2005 @ 3:46
Buen día Ricardo felicitaciones por tu espacio.
Estuve buscando solucionar un problema existencial y encontré este espacio en la web. la verdad es que quiero dos cosas ahora, una es saber donde puedo conseguir un curso libre de Access puesto que la ultima base de datos que use es la que me enseñaron en el colegió hace ya mucho time si no me equivoco era el FoxPro 2 en dos y ahora me urge actualizarme puesto que tengo una empresa y esta creciendo y se me hace necesario tener una base de datos
La segunda es saber de donde procede tu apellido yo estoy en Lima Perú y la verdad que aquí somos muy pocos contados con los dedos de una mano los que tenemos el apellido Galli de origen italiano
Gracias de antemano por tu tiempo
Atentamente,
Antonio Galli
Comment by Antonio GAlli — Saturday 8/10/2005 @ 18:34
Efectivamente lo de Access esta relativo ya que PHP y ASP son de todas forma lo que se propone con la tangente y la semicircular redonda del cuadrado triangular isoseles, por lo que les propongo un radio de MYSQL emigrando directamente y en forma transversal directo a ODBC con afluencia en las array o simplemente dentro del cornetudo pencahue de chocolito, evidentemente se necesita bastante corneta para poder meter en esas zorras califas por lo que se puede someter al siguiente código el enlace de PHP con Access:
Programación en PHP
Comment by Max — Monday 24/10/2005 @ 3:32
Estimado señor:
desearia saber como se puede hacer que un base de datos de MYSQL este en modo compartido, para ponerla en un servidor y que a traves de un sistema, desarrollado en Visual 6.0, todas las pcs se conecten a la misma base.
Muchas gracias.
Sandra.
Comment by Sandra — Tuesday 22/11/2005 @ 20:30
Oh Dear Oh Dear, pero que Visual ??… Basic , C++, J++
Comment by RadiantXD — Friday 25/11/2005 @ 23:05