Conectándose a Microsoft SQL Server a través de pyODBC en Ubuntu

Estoy teniendo un problema al conectarse a una instancia de Microsoft SQL Server desde pyODBC dentro de una máquina de Ubuntu (12.10) .

El error que estoy volviendo es:

 pyodbc.Error: ('IM002', '[IM002] [unixODBC][Driver Manager]Data Source name not found, and no default driver specified (0) (SQLDriverConnect)') 

La cadena de conexión que estoy usando para pyodbc es:

 self.corpus_cnxn = pyodbc.connect('DRIVER={FreeTDS};SERVER=UKEDN-06880;DATABASE=db1;UID=user;PWD=pass') 

Esto parece funcionar bien desde pyODBC dentro de Windows (solo necesito cambiar el CONTROLADOR a ‘SQL Server’ en lugar de ‘FreeTDS’), y funciona bien cuando bash conectarme desde la máquina Ubuntu usando la herramienta tsql desde el terminal, con el siguiente comando:

 tsql -S UKEDN-06880 -p 1433 -U user -P pass 

Puedo seleccionar cualquier tabla sin problemas, simplemente no parece funcionar desde pyODBC.

Cualquier ayuda o consejo será muy apreciado, mis habilidades con Linux son muy débiles y estoy totalmente atascado, aunque como funciona desde tsql, ¡tengo la sensación de que estoy muy cerca!

Parece que has conseguido que freeTDS funcione correctamente ya que puedes usar tsql. ¿Has intentado conectarte con isql?

Mira este howto para un recorrido detallado. La parte que creo que necesitas es configurar unixodbc un poco hacia abajo en la página.

primera stape $ sudo apt-get install libmdbodbc1

edita el archivo /etc/odbcinst.ini como este

 [Microsoft Access Driver (*.mdb)] Description = Microsoft Access Driver (*.mdb) Driver = /path/to/file/libmdbodbc.so Setup = /path/to/file/libtdsS.so CPTimeout = CPReuse = 

Y el archivo /etc/odbc.ini

 [Microsoft Access Driver (*.mdb)] Description = SQL Server Driver = Microsoft Access Driver (*.mdb) Trace = No TraceFile = /tmp/mssodbc.log