2016-11-22 160 views
0

我試圖運行我在Ubuntu服務器上編寫的腳本。在Ubuntu服務器上運行與MSSQL數據庫連接的Python腳本

我使用pypyodbc連接到腳本中的服務器上的數據庫,它在Windows上效果很好。

當我嘗試我的Ubuntu服務器上運行它,我得到以下錯誤:

pypyodbc.Error: (u'IM002', u'[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified') 

這是我的ConnectionString:

DRIVER = "DRIVER={SQL Server};" 
SERVER = "SERVER=servername;" 
UID = "UID=userid;" 
PWD = "PWD=password;" 
DATABASE = "DATABASE=database_name;" 

connection = pypyodbc.connect(DRIVER + SERVER + DATABASE + UID + PWD) 

我做了什麼錯?有什麼想法嗎?

最好的問候。

+1

告訴我們您是如何嘗試建立連接的,因此我們有機會找出可能存在的問題。 – quantummind

+0

我編輯了我原來的帖子,但是這裏是連接字符串: 'DRIVER =「DRIVER = {SQL Server};」 SERVER =「SERVER = servername;」 UID =「UID = userid;」 PWD =「PWD =密碼;」 DATABASE =「DATABASE = database_name;」 connection = pypyodbc.connect(DRIVER + SERVER + DATABASE + UID + PWD)' 似乎無法在此評論中獲得格式化權限。 – Stains

回答

0

您的/etc/odbcinst.ini文件中可能沒有[SQL Server]部分。 你應該有這樣的事情在裏面:

[SQL Server] 
Driver=<driver so file name> 
<other parameters> 

節名必須是您用來設置你的Python程序DRIVER相同。你應該爲freetds選擇一個合適的驅動程序。 檢查http://www.unixodbc.org/doc/FreeTDS.html

相關問題