使用Python 3.4连接到Oracle 11(64位),但无论如何我都无法获得连接。我试过cx_Oracle软件包和pyodbc软件包都没有成功。连接到Oracle的Python问题(cx_Oracle和Pyodbc)
试图与cx_Oracle
conn = cx_Oracle.connect('username/[email protected]')
和
oradsn = cx_Oracle.makedsn(host, port, server)
conn = cx_Oracle.connect(user="username, password=password, dsn=oradsn")
错误:无法获取Oracle环境处理
试图与pyodbc
conn = pypyodbc.connect('DRIVER={ORACLE ODBC DRIVER};DBQ=dsn name;UID=username;PWD=password')
和
conn = pyodbc.connect('DSN=dsn;SERVER=server;UID=username;PWD=password')
错误:指定的驱动程序无法加载由于系统错误1114:一个动态链接库(DDL)初始化例程失败。 (< ---- sqora32.dll在那个位置,我已经检查)
环境变量:
ORACLE_HOME = C:\Oracle\Ora11_x64
有什么建议?
谢谢
谢谢回答!几个问题: 1. PATH变量应该是什么样子? 2.我无法通过SQL Plus连接(TNS适配器错误(?))。但是,我可以通过Oracle SQL Developer进行连接。不知道这是什么意思。 –
PATH环境变量应包含SQL * Plus可执行文件和客户端库的位置。 SQL Developer使用Java,而SQL * Plus(和cx_Oracle)使用OCI,因此它们使用不同的方法进行连接。 TNS适配器错误只是意味着你的连接字符串错误。如果您提供了连接方式的详细信息,可能会帮助我进一步提供帮助。 :-) –
好吧,我改变了我的连接字符串,并能够连接到SQLPlus!好消息。但我仍然得到'无法获取Oracle环境句柄错误。我的PATH变量在字符串中有'C:\ Oracle \ Ora11_x64 \ BIN'。我应该提到,tnsnames.ora文件不包含我的连接,并且我没有访问权限来更改该文件。我仍然可以使用Cx_oracle进行连接吗? –