2012-11-21 10 views
7

Ubuntu (12.10)マシン内のpyODBCからMicrosoft SQL Serverインスタンスに接続する際に問題が発生しました。Ubuntuの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') 

これは、Windows内pyODBCから正常に動作するようです(ちょうど変更する必要がありますDRIVERを 'FreeTDS'ではなく 'SQL Server'に変更)、Ubuntuマシンから、tsqlToolを使用して次のコマンドを使用して接続しようとすると正常に動作します。

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

問題のないテーブルを選択することはできますが、pyODBC内では機能しないようです。

私のLinuxのスキルは弱いですが、tsqlから機能しているので完全に立ち往生しています。非常に近いと感じています!

答えて

9

tsqlを使用できるので、正しく動作するようになったようです。 isqlに接続しようとしましたか?

詳しくは、howtoをご覧ください。あなたが必要と思う部分は、unixodbcを少し下に置くことです。

+0

Worked!ありがとうございました。Matthew – ToOsIK

+0

ありがとうございます。そのリンクは多くの時間を節約しました。私は今Pythonで、何とか間違って感じるLinuxのボックスのコンソールから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 
関連する問題