2012-11-21 2 views
7

Ubuntu (12.10) 컴퓨터 내의 pyODBC에서 Microsoft SQL Server 인스턴스에 연결하는 데 문제가 있습니다.우분투의 pyODBC를 통해 Microsoft SQL Server에 연결

내가 다시 점점 오전 오류는 다음과 같습니다

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

문자열이 pyodbc을 위해 사용하고 연결은 다음과 같습니다

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

이 윈도우 내에서 pyODBC에서 잘 작동하는 것 같다 (단지를 변경해야 DRIVER를 'FreeTDS'대신 'SQL Server'로 변경), 터미널에서 다음 명령을 사용하여 tsqlTool을 사용하여 Ubuntu 컴퓨터에서 연결하려고하면 올바르게 작동합니다.

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

아무런 문제가없는 표를 선택할 수 있으며 pyODBC에서만 작동하지 않는 것 같습니다.

도움이나 조언을 많이 주시면 감사하겠습니다. 리눅스 기술이 약하며 완전히 멈췄습니다. tsql에서 작동하므로 매우 가깝습니다!

답변

9

tsql을 사용할 수 있기 때문에 freeTDS가 제대로 작동하는 것처럼 보입니다. isql을 사용해 보셨습니까?

자세한 내용은 howto을 참조하십시오. 필자가 생각하는 부분은 unixodbc를 페이지 아래쪽으로 약간 설치하는 것입니다.

+0

일했습니다! 감사합니다 매튜 – ToOsIK

+0

감사합니다. 그 링크는 많은 시간을 절약했습니다. 이제는 파이썬에서 리눅스 서버의 콘솔에서 SQL 서버 연결을했습니다. D : –

+0

링크는 404 –

2

첫 stape $ sudo는 apt-get을이

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

그리고 파일과 같은 파일 /etc/odbcinst.ini

편집 libmdbodbc1 설치 /etc/odbc.ini

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