Título: Error al conectar con MSSQL mediante ODBC en Debian 7 Publicado por: novalida en 30 Mayo 2014, 17:14 pm Buenas!
Estoy intentando conectar con una base de datos SQL Server que se encuentra en mi red local utilizando unixodbc y freetds. Los pasos que he realizado son los siguientes siempre como root: 1º Instalo unixodbc y freetds Código: aptitude install unixodbc tdsodbc 2º Configuro /etc/odbc.ini añadiendo lo siguiente al archivo Código: [db_name] 3º Configuro /etc/freetds/freetds.conf añadiendo lo siguiente al archivo: Código: [serverName] 4º Configuro /etc/odbcinst.ini Código: FreeTDS] 5º Pruebo la conexión Código: isql -v db_name Al probar la conexión me da el siguiente error: Código: [S1000][unixODBC][FreeTDS][SQL Server]Unable to connect to data source Si realizo un ping serverName obtengo una respuesta y puedo conectar mediante telnet serverName 1433. Ya he consutado Google pero no he encontrado una respuesta que soluione mi problema por lo que si alguien me puede arrojar un poco de luz se lo agradecería mucho. Un saludo :) Título: Re: Error al conectar con MSSQL mediante ODBC en Debian 7 Publicado por: el-brujo en 3 Junio 2014, 21:00 pm buff es muy divertido configurar el ODBC... sobretodo cuando está todo aparentemente bien y no funciona.
En mi caso era un windows 2003 con MS-SQL Server y un servidor CentOS Por defecto no iba: Citar Warning: odbc_connect(): SQL error: [unixODBC][Driver Manager]Data source name not found, and no default driver specified,) En mi caso cambié el driver TDS por FreeTDS: Citar [FreeTDS] Description = FreeTDS driver Driver = /usr/lib/libtdsodbc.so.0 Setup = /usr/lib/libtdsS.so.1 Yo lo configuré en una máquina y funcionaba perfecto (Centos) y en Debian no (prácticamente la misma configuración). Mira en debian si está todo instalado: Citar sudo apt-get install freetds-bin freetds-dev freetds-common unixodbc unixodbc-dev tds.driver Citar #Driver for MS SQL [FreeTDS] #"FreeTDS" is the unique name for this driver Description = FreeTDS driver Driver = /usr/lib/libtdsodbc.so.0 Setup = /usr/lib/libtdsS.so.1 FileUsage = 1 UsageCount =1 tds.datasource Citar [MSSQL] Driver = FreeTDS # name that we specified in the driver file Description = MSSQL ReflectiveLearning Trace = No TraceFile = /var/log/freetds.log Servername = IP # this name specified in the freetds.conf Port = 1567 Database = DB TDS_Version = 8.0 Y te paso el bash history porque ya ni me acuerdo como lo pude arreglar xD Citar yum install unixODBC-devel unixODBC freetds-devel freetds isql tsql -H Hostname_OR_IP -p PortNumber -U Username tsql -H IP -p 1567 -U BD isql -v DSNname Username 'Password' isql -v unixODBC Username 'Password' isql -v unixODBC Username 'Password' cat /etc/freetds.conf odbcinst -j find / -name libtdsodbc.so.0 odbcinst -q -d odbcinst -q -d odbcinst -q -s odbcinst -q -d odbcinst -q -s odbcinst -q -s odbcinst -q -d odbcinst -q -s isql -v FreeTDS Username 'Password' odbcinst -q -s tsql -LH tsql -LH IP osql -S DSN -U Username -P .Password. osql -S freeTDS -U Username -P .Password. odbcinst -q -d odbcinst -j /etc/odbcinst.ini cat /etc/odbcinst.ini cat /etc/odbcinst.ini isql -v FreeTDS Username 'Password' isql -v freeTDS Username 'Password' /etc/odbcinst.iniodbcinst -q -d odbcinst -q -d odbcinst -q -d odbcinst -i -d -f tds.driver.template odbcinst -i -s -f tds.datasource.template odbcinst -j odbcinst -q -d /usr/local/bin/php /usr/local/bin/php /home/el-brujo/public_html/test_conexion.php odbcinst -q -d odbcinst -q -s odbcinst -q -d odbcinst -j tsql odbcinst -q -s sqsh -S odbcinst -q -s odbcinst -i -d -f tds.driver.template odbcinst -q -s find / -name libtdsodbc.so.0 find / -name libtdsodbc find / -name libtdsodbc.so cat /etc/freetds.conf odbcinst -q -d odbcinst -q -s odbcinst -q -s odbcinst -j cat /etc/odbcinst.ini odbcinst -j cat /etc/odbc.ini exit |