如何在Python下连接Oracle数据库

2016-01-29 14:45 110 1 收藏

如何在Python下连接Oracle数据库,如何在Python下连接Oracle数据库

【 tulaoshi.com - Oracle教程 】

【1】首先下载驱动:(cx_Oracle)
http://www.python.net/crew/atuining/cx_Oracle/
不过要注意一下版本,根据你的情况加以选择。
【2】安装:
执行那个exe安装程序就可以了,它会copy一个cx_Oracle.pyd到{PYTHON_HOME}Libsite-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可以参考:
http://www.python.net/crew/atuining/cx_Oracle/html/cx_Oracle.html

好了,执行那段测试代码时你肯定遇到问题了,一般会有以下问题:
【1】import cx_Oracle 时报告找不到OCI.DLL:
到装了Oracle的机器上找一个,然后copy到{PYTHON_HOME}Libsite-packages目录下就可以了。
【2】cx_Oracle.connect 时报告RuntimeError: Unable to acquire Oracle environment handle:
这个比较麻烦,按以下步骤来解决:(可能不需要所有的步骤,我没有确认,不过把以下步骤都执行了,确实问题就解决了)
首先,确认你是在控制台下边来执行这个python脚本的。而不是某些ide,例如:PyDev(它们似乎无法载入os的环境变量)。
其实,在本机安装Oracle(只安客户端工具就可以了)。
最后,添加以下环境变量:(我给出我的,换成你自己的路径就可以了)
ORACLE_HOME=D:OracleOra81
PATH=D:OracleOra81bin;{your_other_paths}

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)

完成

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)

来源:https://www.tulaoshi.com/n/20160129/1494120.html

延伸阅读
标签: PHP
  利用ORA列出全部数据表'email_info'中的数据 下面,我们将逐条读出数据库的内容,并以html表格形式显示'email_info'数据表中的数据   相关PHP代码: PutEnv("ORACLE_SID=ORASID"); $connection = Ora_Logon ("username","password"); if ($connection == false){   echo O...
标签: PHP
  利用OCI列出全部数据表'email_info'中的数据 同上,只不过用OCI来写   相关PHP代码: PutEnv("ORACLE_SID=ORASID"); $connection = OCILogon ("username","password"); if ($connection == false){   echo OCIError($connection)." ";   exit; } ...
标签: PHP
  Create A Table Using OCI 下面我们将建立一个email个人信息簿。这次采用OCI8 API指令   相关PHP代码: PutEnv("ORACLE_SID=ORASID"); $connection = OCILogon ("username", "password"); if ($connection == false){    echo OCIError($connection)." "; ...
标签: PHP
  利用 ORA 向数据表 'email_info' 输入数据 当用户浏览这段脚本时,显示一个由姓名、email输入域组成的表单;当用户添好数据点击提交时,脚本程序将把这姓名、email保存到'email_info'数据表中。 相关PHP代码: if ($submit == "click"){   // The submit button was clicked!   // Get the input...
标签: Web开发
用ORACLE9i、oracle8、有很长的一段时间,我把用于JSP中需要注意的问题在这里写出来,仅供大家参考了。 一、如何去处理Clob、BLOB的大类型 CLOB可用于存放大文本数据,最多可存储4GB数据,在应用开发中比较常见.java提供的sql.Clob类与之对应.它提供两个方法来读取Clob的数据: getCharacterStream() 方法返回按unicode编码的输入流(java.io...

经验教程

796

收藏

69
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部