用python连接oracle数据库 |
您所在的位置:网站首页 › python3连接oracle › 用python连接oracle数据库 |
数据库:oracle版本10G 10.2.0.5.0 64位 python版本3.5 64位、32位并存, 操作系统:微软64位window 7 在操作中,出现cx_Oracle.DatabaseError: DPI-1047: 32-bit Oracle Client library cannot be loaded: "The specified module could not be found". See https://oracle.github.io/odpi/doc/installation.html#windows for help 处理方式: import os #将ORACLE驱动所在目录添加到环境变量中 os.environ['path'] = r'D:\Programs\instantclient-basic-windows.x64-11.2.0.4.0\instantclient_11_2'原因分析: python程序启动使用的默认是64版,因为电脑中含用32位其他程序连接ORACLE驱动设置在了ORACLE_HOME环境变量中,所以64位python调用32位oracle驱动时报错。通过python中os模块重新驱动位置,问题解决。 完整测试代码: import os import cx_Oracle as cx #设置ORACLE驱动位置 os.environ['path'] = r'D:\Programs\instantclient-basic-windows.x64-11.2.0.4.0\instantclient_11_2' def connDB(): try: #地址、端口、SID dsn = cx.makedsn('172.17.2.43', 1521, 'edp') #账号、密码、服务器 db = cx.connect('TEST', '123456', dsn) #创建游标 curs = db.cursor() #组织查询语句 sql = 'SELECT sysdate FROM dual' #执行语句 rr = curs.execute(sql) #获取结果 row = curs.fetchone() #列印结果 print(row[0]) #关闭游标 curs.close() #关闭连线 db.close() except Exception as e: print(e) if __name__ == '__main__': connDB() |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |