pyodbc 在win7上面遇到 im002

預到的問題:


在用python設計SQL讀寫採用pyodbc, 

使用以下語法,在win8上運行正常

driver = '{ODBC Driver 17 for SQL Server}'

self.cnxn = pyodbc.connect(
    'DRIVER=' + driver + ';PORT=1433;SERVER=' + server + ';PORT=1443;DATABASE=' + database + ';UID=' + username + ';PWD=' + password,    timeout=2)

但在另一台win7無python環境上發生錯誤:('IM002','未找到 [IM002] [Microsoft] [ODBC Driver Manager] 數據源名稱,沒有指定默認驅動程序( 0 ) ( SQLDriverConnect ) )

由以下的方法可以知道該電腦有的odbc driver為何,再修改python程式

在 Windows 10 中開啟 ODBC 資料來源管理員

  1. 在 [開始] 頁面上輸入 ODBC 資料來源 「ODBC 資料來源傳統型應用程式」應該會出現在搜尋選項中。

若要在 Windows 7 中開啟 ODBC 資料來源管理員

  1. 在 [開始] 功能表上,按一下 [控制台]
  2. 在 [控制台] 中,按一下 [系統管理工具]
  3. 在 [系統管理工具] 中,按一下 [資料來源 (ODBC)]。

若要在 Windows Server 2008 中開啟 ODBC 資料來源管理員

  1. 在 [開始] 功能表上,指向 [系統管理工具],然後按一下 [資料來源 (ODBC)]。


最後改用以下程式碼,二邊都可以使用

driver = '{SQL Server}'

留言

這個網誌中的熱門文章

LinkIt 7697 不用能使用官方的 MT76X7 FLASH TOOL的問題

A Mp3 with SD card player based on 8051