在Python环境下连接Oracle数据库

  1.首先下载驱动:
  (cx_Oracle),要注意一下版本,根据你的情况加以选择。

  2.安装:
  执行exe安装程序就可以了,它会copy一个cx_Oracle.pyd到{PYTHON_HOME}\Lib\site-packages目录下。

  3.执行一段测试程序:
  import cx_Oracle
  con = cx_Oracle.connect( "xjtu_test", "37343734","xjtu.world")
  cursor = con.cursor()
  cursor.close()
  con.close()

  里边connect中的3个参数从左到右分别是:user, pass, TNS。

  那个TNS可以用Oracle客户端工具中的Net Configuration Assistant来配置。

  4.参考cx_Oracle API
  好了,执行那段测试代码时你肯定遇到问题了,一般会有以下问题:

  【1】import cx_Oracle 时报告找不到OCI.DLL:

  到装了Oracle的机器上找一个,然后copy到{PYTHON_HOME}\Lib\site-packages目录下就可以了。

  【2】cx_Oracle.connect 时报告RuntimeError: Unable to acquire Oracle environment handle:

  这个问题相对比较麻烦,按以下步骤来解决:(可能不需要所有的步骤,我没有确认,不过把以下步骤都执行了,确实问题就解决了)

  首先,确认你是在控制台下边来执行这个python脚本的。而不是某些ide,例如:PyDev(它们似乎无法载入os的环境变量)。

  其实,在本机安装Oracle(只安客户端工具就可以了)。

  最后,添加以下环境变量:(注:换成你自己的路径)

  ORACLE_HOME=D:\Oracle\Ora81
  PATH=D:\Oracle\Ora81\bin;{your_other_paths}

  完成。