[英]Connect to Oracle database using pyodbc
我想通過pyodbc用python連接到Oracle數據庫。 我已經安裝了 oracle 驅動程序並嘗試了以下腳本:
import pyodbc
connectString = """
DRIVER={Oracle in OraClient12Home1};
SERVER=some_oracle_db.com:1521;
SID=oracle_test;
UID=user_name;
PWD=user_pass
"""
cnxn = pyodbc.connect(connectString)
我收到以下錯誤消息:
cnxn = pyodbc.connect(connectString)
Error: ('HY000', '[HY000] [Oracle][ODBC][Ora]ORA-12560: TNS:protocol adapter error\n (12560) (SQLDriverConnect)')
這里有什么問題?
為什么關鍵字DBQ
有效而SID
/ Service Name
無效,請參閱 Oracle 12c 文檔中21.4.1 Format of the Connection String
部分。 https://docs.oracle.com/database/121/ADFNS/adfns_odbc.htm#ADFNS1183/
或keywords for odbc oracle 12c
看起來你缺少一個端口
試試這個方法
注意:根據您的服務器,語法可能會有所不同,這適用於沒有使用 SQL Server 驅動程序的 DSN 的 Windows。
connectString = pyodbc.connect('DRIVER={SQL Server};SERVER=localhost;PORT=1433;DATABASE=testdb;UID=me;PWD=pass')
這是連接,您仍然需要一個游標並使用執行和 SQL 語句..
您必須在數據庫服務器正在運行的連接字符串中指定服務器或主機名(或 IP 地址)。
很近...
connectString = """
DRIVER={Oracle in OraClient12Home1};
SERVER=some_oracle_db.com:1521;
DBQ=oracle_test;
Uid=user_name;
Pwd=user_name
"""
我用 DBQ 替換了 SID
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.