Foros del Web » Programando para Internet » PHP »

PHP y Access

Estas en el tema de PHP y Access en el foro de PHP en Foros del Web. Buenas! me encuentro con un problema. Los datos de la empresa en la que estoy estan en Access y me han pedido que haga la ...
  #1 (permalink)  
Antiguo 17/07/2006, 05:55
 
Fecha de Ingreso: julio-2006
Mensajes: 10
Antigüedad: 11 años, 5 meses
Puntos: 0
PHP y Access

Buenas! me encuentro con un problema.

Los datos de la empresa en la que estoy estan en Access y me han pedido que haga la web. Su servidor gratuito... ( lo se, una empresa con una web en un servidor gratuito....). pues eso que su servidor gratuito no acepta ASP y en cambio si PHP.

¿¿Que cadena de conexion tengo que usar para hacer consultas en la base de datos Access???

¿algun tutorial para tratar php y access?

muchas gracias
  #2 (permalink)  
Antiguo 17/07/2006, 06:09
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 11 años, 5 meses
Puntos: 0
Pues si puedes crear un DSN ODBC puedes usar el conjunto de funciones:

Funciones ODBC

Aunque no puedas crearla tambien creo q puedes trabajar de la siguiente forma:

Código PHP:
$odbc="DRIVER={Microsoft Access Driver};SERVER=$servidor;DATABASE=$base_de_datos";
$conn_id=odbc_connect ($odbc,$usuario,$clave);
//Microsoft Access Driver puede sustituirse por otro Driver que consideres util. Es tambien muy valido conectar por ODBC a SQL Server usando {SQL Server} como Driver.
//Etc... mirate la documentacion de las funciones para profundizar. Las variables $servidor y $base_de_datos las pones como las tengas en el servidor.
//Si usas un DSN el $odbc será el nombre que le hayas puesto al DSN y ya esta
$odbc="nombre_dsn"
__________________
La muerte es un camino que todos debemos recorrer...
  #3 (permalink)  
Antiguo 17/07/2006, 08:15
 
Fecha de Ingreso: julio-2006
Mensajes: 10
Antigüedad: 11 años, 5 meses
Puntos: 0
muchas gracias por responder.

¿asi deberia tener el codigo? porque no funciona

<?php
$odbc = "DRIVER={Microsoft Access Driver};SERVER='localhost';DATABASE='basedatos.mdb '";
$conn_id=odbc_connect ($odbc, "usuario", "contraseña");
$result = mysql_query("SELECT count(*) FROM TABLA", $odbc);
$row = mysql_fetch_array($result);
echo "p=" .$row[0];
?>
  #4 (permalink)  
Antiguo 17/07/2006, 09:25
 
Fecha de Ingreso: julio-2006
Mensajes: 10
Antigüedad: 11 años, 5 meses
Puntos: 0
Cluster puedes ayudarme? Veo que respondes a muchos temas por lo que debes de saber mucho

gracias
  #5 (permalink)  
Antiguo 17/07/2006, 09:40
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por reew
Cluster puedes ayudarme? Veo que respondes a muchos temas por lo que debes de saber mucho

gracias
Que "participe" en muchos temas no implica que sepa de todos (como es el caso).

Muchas veces me limito como va a se este caso en hacerte las preguntas de rigor para "definir" y concretar mejor que problema tienes y de que tipo y así ir acotando el problema).

Yo lo único que veo es que "mezclas" (no sé por qué) funciones de obdc_xxx() que son las que tienes que usar para acceder a Access por ODBC con funciones de Mysql (mysql_xxx()) que no tienen nada que ver .. Te recomiendo probar y ver la documentación sobre ODCB de PHP al respecto:

www.php.net/odbc

----------------------

PD: Por favor por respeto a todos los usuarios que podrían ayudarte y por tu bien .. no hagas alusiones "públicas" a nadie en concreto en el foro (tienes el sistema de Mensajería privada para ese tipo de cosas).

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/07/2006, 09:47
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 11 años, 6 meses
Puntos: 2122
Otra cosa en tu Connection String, el path a Database debe ser el path correcto (o en su defecto que este en un path que encuentre el sistema operativo por defecto)
  #7 (permalink)  
Antiguo 17/07/2006, 10:01
Avatar de the_scorpion  
Fecha de Ingreso: mayo-2006
Ubicación: Cuba
Mensajes: 696
Antigüedad: 11 años, 7 meses
Puntos: 3
Hola

En google puedes ver una milenaria de ejemplos de php - access tanto de Conexión remota a MySQL con MS Access como de Exportación de tablas de access a mysql

mira este

http://es.tldp.org/Manuales-LuCAS/ma...sql_access.htm
__________________
Que hablen mal de uno es espantoso. Pero hay algo peor: que no hablen.
Quien hace, puede equivocarse. Quien nada hace, ya está equivocado".
  #8 (permalink)  
Antiguo 17/07/2006, 10:12
 
Fecha de Ingreso: julio-2006
Mensajes: 10
Antigüedad: 11 años, 5 meses
Puntos: 0
tengo esta cadena de conexion :

$db_connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=". realpath("./basedatos.mdb") ." ;DefaultDir=". realpath("./")";

pero me da este error:

Parse error: parse error in ****archivo.php on line 2
  #9 (permalink)  
Antiguo 17/07/2006, 10:33
 
Fecha de Ingreso: julio-2006
Mensajes: 10
Antigüedad: 11 años, 5 meses
Puntos: 0
ya he solucionado lo de la cadena de conexion.

$connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=". realpath("./basedatos.mdb").";";

ahora no se como hacer la conexion porque me dice que no me encuentra la funcion odbc_connect()
  #10 (permalink)  
Antiguo 17/07/2006, 10:37
Avatar de the_scorpion  
Fecha de Ingreso: mayo-2006
Ubicación: Cuba
Mensajes: 696
Antigüedad: 11 años, 7 meses
Puntos: 3
disculpa se me habia caido la conexion,

eeeeeeeeee
lo que siempre he hecho de php con access es exporta las tablas desde access a mysql ya que nunca he logrado hacer una conexion de access con php

no se que diran los gurus de aqui pero me parece que ese codigo que pusiste me suena asp

$db_connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=". realpath("./basedatos.mdb") ." ;DefaultDir=". realpath("./")";

hasta donde tengo entendido access solo funciona con lenguaje ASP "tendras que seguir investigando"

asi que te sugiero que mejor exportes a mysql,

Ah algo importante

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) eso como te dije arriba lo dudo ya que el apache no contiene ninguna libreria dll q se llama access.dll y eso esta muy lejos de la verdad de que microsoft lo suelte.

espero que sigan abordando mas sobre este tema
__________________
Que hablen mal de uno es espantoso. Pero hay algo peor: que no hablen.
Quien hace, puede equivocarse. Quien nada hace, ya está equivocado".
  #11 (permalink)  
Antiguo 17/07/2006, 10:50
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 11 años, 6 meses
Puntos: 2122
Si no encuentra la funcion odbc_connect() es que tu servidor la tiene desactivado nescesitaras que te activen el php_odbc.dll (o .so) para que puedas tener las funciones para entrar a ODBC, y tu cadena de conexion esta bien
  #12 (permalink)  
Antiguo 17/07/2006, 10:56
 
Fecha de Ingreso: julio-2006
Mensajes: 10
Antigüedad: 11 años, 5 meses
Puntos: 0
jeje gracias pero dudo que siendo un servidor gratuito me activen algo
  #13 (permalink)  
Antiguo 17/07/2006, 10:59
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por reew
jeje gracias pero dudo que siendo un servidor gratuito me activen algo
En ese caso olvidate de conexiones ODBC para acceder a Access .. ¿Por qué no usas Mysql? (o es que tampoco te dan soporte para Mysql?) ...

En ese caso si piensas buscarte un servidor con soporte ODBC .. mejor busca proveedores que usen Windows como S.O. en sus servidores .. no es común soporte ODBC en Linux aunque todo es posible. En su defecto antes de nada revisa las extensiones que tenga instalada tu nuevo proveedor y busca referencias a ODBC:

Código PHP:
<?
phpinfo
();
?>
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #14 (permalink)  
Antiguo 17/07/2006, 11:12
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 11 años, 5 meses
Puntos: 0
Lo curioso es q cuando instalas PHP las funciones de ODBC están activadas por defecto.

Siento no haberte podido contestar cuando respondiste q no funcionaba... Me conecto desde el curro y cuando estoy muy okupado no puedo mirar el foro.
__________________
La muerte es un camino que todos debemos recorrer...
  #15 (permalink)  
Antiguo 17/07/2006, 11:31
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por djreficul
Lo curioso es q cuando instalas PHP las funciones de ODBC están activadas por defecto.

Siento no haberte podido contestar cuando respondiste q no funcionaba... Me conecto desde el curro y cuando estoy muy okupado no puedo mirar el foro.
Eso sólo sucede en PHP bajo Windows. En Linux no es su filosofía usar ODBC (ni en general ningún motor de BBDD ni tipo de conexión a estas "por defecto" ..) todo se deja a "elección" (elección que tienes que tomar e instalar lo que corresponda: extensiones, librerías .. etc si realmente lo vas a usar).

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.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:00.