我正在尝试使用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:协议 适配器错误\ 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)
)
)
答案 0 :(得分:1)
键是通过定义conn_string = "driver={Oracle in OraClient11g_home1}; dbq='tabto'; uid='myuid'; pwd='mypwd'"
conn = pypyodbc.connect(conn_string)
参数将链接python代码链接到tnsname.ora。所以将代码更改为以下工作。
#ifndef SomeThread_H
#define SomeThread_H
class SomeThread {
public:
SomeThread(void);
virtual ~SomeThread(void);
void runThread();
}; // SomeThread
#endif // _SomeThread_H_
答案 1 :(得分:0)
conn = pyodbc.connect(r'DRIVER={SQL Server Native Client 11.0};SERVER=example.oneco.com:1521;DATABASE=tabto;UID=youruid;PWD=password')
在中间没有引号(')代码的情况下尝试...
检查太pyodbc wiki:https://github.com/mkleehammer/pyodbc/wiki/Connecting-to-SQL-Server-from-Windows