我遇到了同樣的問題,我可以通過Oracle SQL Developer連接到數據庫,但不通過pyodbc
。其他人做了大部分數據庫設置,所以我不確定正確的連接參數。我會通過您如何在Windows計算機上進行連接來解決您的問題。
在開始菜單中,我鍵入「odbc」並選擇「Microsoft ODBC Administrator」。在「系統DSN」選項卡下,我找到了我的DSN名稱(我們稱之爲myDSN)和相應的驅動程序(我的是「OraClient11g_home2中的Oracle」)。我也有我的數據庫指定用戶名和密碼,所以我的連接線,現在看起來是這樣的:
cnxn = pyodbc.connect(driver='{Oracle in OraClient11g_home2}', dsn='myDSN', uid='HODOR', pwd='hodor')
也許在這一點上它會爲你工作,但我還是無法連接。這臺計算機是32位和64位驅動程序的混亂,所以我想我是指向錯誤的。因此,再次進入開始菜單,在所有程序下,我找到一個名爲「OraClient11g_home2中的Oracle」的文件夾,並在其下方有一個名爲「Oracle in OraClient11g_home32Bit」的文件夾。我在Python中將我的連接線更改爲以下內容:
cnxn = pyodbc.connect(driver='{Oracle in OraClient11g_home32Bit}', dsn='myDSN', uid='HODOR', pwd='hodor')
並且它已連接。
PYODbC應該可以很好地連接到Oracle數據庫 - 您是否嘗試過構建一個系統ODBC連接並將其提供給Python? – jsbueno