当前位置:首页 » 编程语言 » oracle连接python

oracle连接python

发布时间: 2025-08-14 18:05:41

㈠ 如何在python下连接Oracle数据库

本文实例讲述了python连接oracle数据库的方法,分享给大家供大家参考。具体步骤如下:
一、首先下载驱动:(cx_Oracle)
http://www.python.net/crew/atuining/cx_Oracle/
不过要注意一下版本,根据你的情况加以选择。
二、安装:
首先配置oracle_home环境变量
执行那个exe安装程序就可以了,它会一个cx_Oracle.pyd到Libsite-packages目录下。
如果是linux,执行

python setup.py build
python setup.py install

三、执行一段测试程序:

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来配置。

四、具体的cx_Oracle API可以参考:
http://www.python.net/crew/atuining/cx_Oracle/html/cx_Oracle.html
五、示例:

>>> import cx_Oracle
>>> conn=cx_Oracle.connect ('scott/tiger@oratest')
>>> curs=conn.cursor ()
>>> sql='select * from emp'
>>> rr=curs.execute (sql)
>>> row=curs.fetchone()
>>> row
(7369, 'SMITH', 'CLERK', 7902, datetime.datetime(1980, 12, 17, 0, 0), 800.0, None, 20)
>>> while row:
(ID,NAME)=(row[0],row[1])
row=curs.fetchone ()
print ID,NAME

7369 SMITH
7499 ALLEN
7521 WARD
7566 JONES
7654 MARTIN
7698 BLAKE
7782 CLARK
7788 SCOTT
7839 KING
7844 TURNER
7876 ADAMS
7900 JAMES
7902 日常
7934 MILLER

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

ORACLE_HOME=D:OracleOra81
PATH=D:OracleOra81bin;

希望本文所述对大家的Python程序设计有所帮助。

㈡ Python连接Oracle数据库并执行SQL查询,数据获取、关闭游标、查询列元数据等基础操作

Python连接Oracle数据库利用第三方库cx_Oracle进行操作。本篇内容将带你通过具体代码示例,逐步了解如何执行基本的连接数据库、执行SQL查询、获取数据、关闭游标以及查询列元数据等操作。让我们开始。

### 连接Oracle数据库

首先需要导入cx_Oracle库,建立数据库连接。

python
import cx_Oracle

dsn = cx_Oracle.makedsn('主机名', '端口号', '服务名')
conn = cx_Oracle.connect('用户名', '密码', dsn)

### 执行SQL查询

借助`conn.cursor()`生成游标对象,并使用此对象执行SQL查询。

python
cursor = conn.cursor()
cursor.execute('SELECT column_name FROM table_name WHERE condition;')

### 获取数据

通过循环`cursor`迭代查询结果。

python
data = []
for row in cursor:
data.append(row)

### 关闭游标和连接

完成操作后记得释放资源,确保正确关闭游标和连接。

python
cursor.close()
conn.close()

### 查询列元数据

利用`cursor.description`属性获取每列的详细信息,如数据类型、名称等。

python
column_info = [desc for desc in cursor.description]

以上步骤展示了如何使用Python与Oracle数据库进行基本操作,包括建立连接、执行查询、处理数据以及释放资源。请确保根据具体环境设置好数据库连接信息,如主机名、端口号、服务名、用户名及密码等。

㈢ python连接oracle数据库报出 ORA-12541: TNS: 无监听程序

方法一:
在oracle_home下找到lsnrctl.exe 输入 start
方法二
可能认不到实例名
在cmd下运行
set oracle_sid=自己数据库的实例名(大多数orcl)
网上还有很多解决办法
也许不见得管用,这种问题具体问题具体分析比较好。介绍的这2种您的机器还不行。就去修改一个TNSNAMES.ORA。

热点内容
mysql存储过程结果集 发布:2025-08-14 20:35:00 浏览:807
逃跑吧少年在哪里用密码切换账号 发布:2025-08-14 20:34:16 浏览:635
c语言编译导师 发布:2025-08-14 20:21:11 浏览:143
电信机顶盒电视点播如何设置密码 发布:2025-08-14 20:17:33 浏览:371
制图脚本 发布:2025-08-14 20:12:24 浏览:377
用电脑怎么看宽带密码 发布:2025-08-14 20:09:10 浏览:352
怎样查询自己的内部服务器ip 发布:2025-08-14 20:03:48 浏览:465
股票交易系统源码 发布:2025-08-14 19:12:27 浏览:65
空气压缩温度降低 发布:2025-08-14 19:08:37 浏览:609
北大校园门户的默认密码是什么 发布:2025-08-14 19:04:19 浏览:497