El vie, 28-03-2014 a las 10:39 -0400, Raidel Berrillo Gonzalez escribió:
> Hola Lista:
> 
> Les escribo porque estoy tratando de conectar una aplicacion realizada
> en PHP desde un servidor web apache en Ubuntu con un SQL Server en
> Windows (desgraciadamente por software contables nacionales)......he
> buscado e instalado lo necesario...es decir...
> 
> FreeTDS y la libreria ODBC para linux
> Aqui les expongo mi configuracion:
> 
> /etc/freetds/freetds.conf
> [miserver]
>         host = 10.0.100.22
>         instance = S501
>         port = 2001
>         tds version = 8.0
> 
> /etc/odbcinst.ini
> [FreeTDS]
> Description = TDS Driver (Sysbase/MS SQL)
> Driver = /usr/lib/i386-linux-gnu/odbc/libtdsodbc.so
> Setup = /usr/lib/i386-linux-gnu/odbc/libtdsS.so
> CPTimeout = 5
> CPReuse = 5
> FileUsage = 1
> UsageCount = 1
> 
> /etc/odbc.ini
> [sqlserver]
>      Driver = FreeTDS
>      Description = Test ODBC
>      Trace = No
>      Servername = miserver
>      Database = s5principal
> 
> No hay restricciones de cortafuego intermedio que me imposibiliten la
> conexion, cuando intento la conexion por consola con el siguiente
> comando:
> 
> isql -v sqlserver sa sql
> 
> me da el siguiente error:
> 
> [IM002][unixODBC][Driver Manager]Data source name not found, and no
> default driver specified
> [ISQL]ERROR: Could not SQLConnect
> 
> a todos los archivos involucrados le di todos los permisos para por
> si...y nada....
> por favor, alguien que ya tenga experiencia en esto que me

Supongo que estarás tratando de acceder a datos del Versat, o algo así.
Mis condolencias.

Acá tuvimos esa situación: necesidad de leer datos de una base MS SQL
sobre Window$$$, usando PHP desde Linux.

No usamos ODBC. Te describo la solución que usamos (Debian 6):

En /etc/freetds/freetds.conf nos aseguramos de tener lo siguiente:
#A tipical Microsoft server
[egServer70]
host=192.168.0.5
port=1433
tds version= 7.0

No ponemos nada más. 

La máquina Window$$$ remota está en 192.168.0.5. 

Para explorar esa base de datos usamos el paquete PHPMSAdmin. Si uso ese
paquete, que se mueve en la cuerda de PHPMyAdmin, PHPPgAdmin y familia,
debo especificar en la página de entrada un usuario de esa máquina, y
declarando como nombre de la máquina Window$ y la base esto que pongo
debajo:
192.168.0.5:/NOMBREDELABASEMSSQL 

(nótese la forma en que se especifican la máquina y la base de datos).

Si no uso ese paquete, sino que trabajo con una página PHP mía y debo
extraer los datos de esa base MS SQL, podría hacer algo como: (con
perdón de los puristas: esto lo hacemos desde nuestro Linux!)
<?php

 echo "Prueba de conexion";

 $link = mssql_connect("192.168.0.5", "login", "contraseña");

 mssql_select_db("ettpartagas", $link);

 $SQL = "Select * from cos_centro";

 $rs = mssql_query($SQL, $link);

 do {

    while ($row = mssql_fetch_row($rs)) { 

                                            echo $row[3]."<br>";

                                        }

   } while (mssql_next_result($rs));

   mssql_free_result($rs);

   mssql_close($link);

?> 

Suerte!
 
-- 
M.Sc. Alberto García Fumero
Usuario Linux 97 138, registrado 10/12/1998
Las autoridades sanitarias advierten:
El uso prolongado de Windows puede provocar dependencia.


-- 
Este mensaje ha sido analizado por MailScanner
en busca de virus y otros contenidos peligrosos,
y se considera que est� limpio.

______________________________________________________________________
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l

Responder a