【发布时间】:2017-01-04 23:54:37
【问题描述】:
我正在尝试使用 pypyodbc 从我的 python 代码连接一个 oracle 数据库:
conn_string = "driver={Oracle in OraClient11g_home1}; server='example.oneco.com:1521'; database='tabto'; uid='myuid'; pwd='mypwd'"
conn = pypyodbc.connect(conn_string)
我收到错误消息:
错误: (u'HY000', u'[HY000] [Oracle][ODBC][Ora]ORA-12560: TNS:protocol 适配器错误\n')
以下是在我的tnsnames.ora 文件中找到的连接字符串。请告诉我使用pypyodbc的正确方法是什么。
tabto, tabto.world, tabto.oracleoutsourcing.com, tabto.oneco.com =
(DESCRIPTION =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = example.oneco.com)
(PORT = 1521)
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = tabto_dcu)
)
)
【问题讨论】:
-
关键是通过定义dbq参数将python代码链接到tnsname.ora。因此,将代码更改为以下工作。
conn_string = "driver={Oracle in OraClient11g_home1}; dbq='tabto'; uid='myuid'; pwd='mypwd'" conn = pypyodbc.connect(conn_string)
标签: python oracle oracle11g pypyodbc