首页数据库python连接oracle数据库(如何在Python下连接Oracle数据库)

python连接oracle数据库(如何在Python下连接Oracle数据库)

编程之家2023-10-16103次浏览

大家好,今天来为大家解答python连接oracle数据库这个问题的一些问题点,包括如何在Python下连接Oracle数据库也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

python连接oracle数据库(如何在Python下连接Oracle数据库)

如何用python更新oracle数据库

用python更新oracle数据库:

1.要想使Python可以操作Oracle数据库,首先需要安装cx_Oracle包,可以通过下面的地址来获取安装包:cx-oracle.sourceforge.net/

2.另外还需要oracle的一些类库,此时需要在运行python的机器上安装Oracle Instant Client软件包,可以通过下面地址获得technetwork/database/features/instant-client/index-097480.html

找到符合自己平台的包,然后安装,这里我使用的是rpm包,所以使用以下命令安装

$ sudo rpm-ivh oracle-instantclient11.2-basic-11.2.0.3.0-1.i386.rpm

装完毕后还需要设置一下环境变量,如下

python连接oracle数据库(如何在Python下连接Oracle数据库)

$ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib/oracle/11.2/client/lib

然后写update语句对表进行更新:

import cx_Oracle//导入链接oracle的库

conn= cx_Oracle.connect('fkong/fkong@172.17.23.129/orcl')//建立与orcl的连接

cursor= conn.cursor()//打开游标

cursor.execute("update test set COL1='u' where ID=1")//执行更新

python连接oracle数据库(如何在Python下连接Oracle数据库)

conn.commit()//提交结果

cursor.close();//关闭游标

conn.close();//关闭连接

如何在Python环境下连接Oracle数据库

首先下载驱动

(cx_Oracle)要注意一下版本根据你的情况加以选择

安装

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

执行一段测试程序 import cx_Oraclecon= nnect( xjtu_test xjtu world)cursor= con cursor()cursor close()con close()

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

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

参考cx_Oracle API

好了执行那段测试代码时你肯定遇到问题了一般会有以下问题

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

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

【】nnect时报告RuntimeError Unable to acquire Oracle environment handle

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

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

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

lishixinzhi/Article/program/Oracle/201311/17797

python3连接oracle报错

python3连接oracle报错

#-*- coding:utf-8-*-

#!/usr/bin/env python

'''

Created on 2014年8月4日

@author: 188007

连接Oracle数据库的class

'''

import os

os.environ['NLS_LANG']='SIMPLIFIED CHINESE_CHINA.ZHS16GBK'

import cx_Oracle

import sys

class Oracle:

'''

python access oracle helper tool class

'''

def __init__(self, ip,port,db,user,pwd):

self.ip= ip

self.port= port

self.db= db

self.user= user

self.pwd= pwd

def __GetConnect(self):

"""得到连接信息返回: conn.cursor()"""

if not self.db:

raise(NameError,"没有设置数据库信息")

dsn=cx_Oracle.makedsn(self.ip,self.port,self.db)

self.conn=cx_Oracle.connect(self.user,self.pwd,dsn)

cur= self.conn.cursor()

if not cur:

raise(NameError,"连接数据库失败")

else:

return cur

def ExecQuery(self,sql):

"""执行查询语句返回的是一个包含tuple的list,list的元素是记录行,tuple的元素是每行记录的字段

调用示例:

oracle= Oracle('10.27.95.253','1561','GFDMS','GFITAPPS','GFITAPPS')

resList= oracle.ExecQuery("SELECT OBJID,NUMCODE,AREACODE,AREANAME,PROVCODE,PROVNAME,CITYCODE,CITYNAME,TOWNCODE,TOWNNAME,REMARK FROM GFDMS.THZONE ORDER BY NUMCODE")

for(AREANAME) in resList:

print str(AREANAME).decode('gb2312')

"""

try:

cur= self.__GetConnect()

cur.execute(sql)

resList= cur.fetchall()

#查询完毕后必须关闭连接

self.conn.close()

except Exception, err:

sys.exit(1)

return resList

def ExecNonQuery(self,sql):

"""执行非查询语句

调用示例:

oracle.ExecNonQuery("insert into THZONE values('x','y')")

"""

try:

cur= self.__GetConnect()

cur.execute(sql)

self.conn.commit()

self.conn.close()

except Exception, err:

sys.exit(1)

# def main():

## oracle= Oracle('10.27.95.253','1561','GFDMS','GFITAPPS','GFITAPPS')

###返回的是一个包含tuple的list,list的元素是记录行,tuple的元素是每行记录的字段

## oracle.ExecNonQuery("insert into THZONE values('x','y')")

# oracle= Oracle('10.27.95.253','1561','GTEST','GTAPPS','GTAPPS')

# resList= oracle.ExecQuery("SELECT OBJID,NUMCODE,AREACODE,AREANAME,PROVCODE,PROVNAME,CITYCODE,CITYNAME,TOWNCODE,TOWNNAME,REMARK FROM GTEST.THZONE ORDER BY NUMCODE")

# for(AREANAME) in resList:

# print str(AREANAME).decode('utf-8')

#

# if __name__=='__main__':

# main()

如何在Python下连接Oracle数据库

本文实例讲述了python连接oracle数据库的方法,分享给大家供大家参考。具体步骤如下:

一、首先下载驱动:(cx_Oracle)

http://www.python.net/crew/atuining/cx_Oracle/

不过要注意一下版本,根据你的情况加以选择。

二、安装:

首先配置oracle_home环境变量

执行那个exe安装程序就可以了,它会copy一个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的机器上找一个,然后copy到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数据库和如何在Python下连接Oracle数据库问题对您有所帮助,还望关注下本站哦!

中国营养师网,营养师证国家承认吗国家顶级域名有哪些?国际顶级域名有哪些