Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/08/2012, 03:28
alyciashape
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años, 6 meses
Puntos: 58
Duda sobre los DSN

Resulta que necesito extraer datos con regularidad de una base de datos que está en el servidor de la empresa. Dicha base de datos está en DBASE, pasa los datos a un Access y ésta a un SQL Server de donde coge los datos la web.

Yo tengo que extraer de cualquiera de ellas y como no me dan facilitado datos del SQL Server al final tras mil y una pruebas he conseguido conectarme al DBase por ODBC y DSN.

El tema es que sólo funciona si lo hago desde el propio server, desde fuera no hay manera de conectarse al DSN. La pregunta es esa. Es viable o sólo me puedo conectar a un DSN desde el propio equipo¿?

La única solución que se me ocurre es crear un MySQL que cargue los datos cada X tiempo con una tarea de Windows programada y yo sacarlos de ahí. Pero es que el equipo ya tiene demasiado con 3 bases de datos funcionando me parece a mi.

Lo tengo creado como DSN del sistema pero nada. Me conecto así:

Código PHP:
Ver original
  1. if ($conn_access = odbc_connect ( "nombre_dsn", "", "")){
  2.        echo "Conectado correctamente";
  3.     echo "<br />";
  4.        $ssql = "SELECT * FROM articulo";
  5.        if($rs_access = odbc_exec ($conn_access, $ssql)){
  6.            echo "La sentencia se ejecut&oacute; correctamente";
  7.            while ($fila = odbc_fetch_object($rs_access)){
  8.               echo "<br>" . $fila->nombre;
  9.            }
  10.        }else{
  11.            echo "Error al ejecutar la sentencia SQL";
  12.        }
  13. } else{
  14.        echo "Error en la conexión con la base de datos";
  15. }
Pero desde fuera no hay manera, probé poniendo la ip delante del nombre dsn pero no cuela...

Última edición por gnzsoloyo; 08/08/2012 a las 04:10 Razón: No usó etiquetas para el código