Python 操作 orcale数据库

1:配置python用cx_Oracle连接oracle,或使用cx_Oracle连接数据库时报错: cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library

  1. 公司的数据库版本是11g和64位的,所以这里下载11g对应的instantclient文件 win64位:https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html

  2. 下载解压,这里为了方便管理,将下载的instant文件解压到python文件夹下,并将此文件夹路径添加到环境变量

  3. 把oracle客户端instantclient_**_*的安装文件中以.dll结尾的三个动态链接库文件,复制到python的安装目录中的Lib的site-packages下

  

 

 2:-- 查询序列

select * from user_sequenc

3:数据库的连接,及简单操作

import cx_Oracle

conn = cx_Oracle.connect('账号', '密码', 'ip:1521/ORCL')
cursor = conn.cursor()
TITLE = ''
CONTENT = '<p>dsafasfdas</p>'
sql = "insert into CIS_LAW_DATA(ID, TITLE, CONTENT) values (SEQ_CIS_LAW_DATA.nextval,\'{0}\',:blobData)".format(TITLE, CONTENT)   # 插入语句
print(TITLE)
cursor.setinputsizes(blobData=cx_Oracle.BLOB)
cursor.execute(sql, blobData=CONTENT)
conn.commit()

# 注::blobData为占位符,CONTENT字段存入orcale为BLOB类型

 

import cx_Oracle

conn = cx_Oracle.connect('账号', '密码', 'ip:1521/ORCL')
cursor = conn.cursor()
href = ''
CONTENT = '<p>dsafasfdas</p>'
sql = "UPDATE CIS_LAW_DATA SET CONTENT=:blobData WHERE SOURCEADDRESS = \'{0}\'".format(href)   # 更新语句
cursor.setinputsizes(blobData=cx_Oracle.BLOB)
cursor.execute(sql, blobData=CONTENT)
conn.commit()

 

posted @ 2021-07-01 20:05  loren880898  阅读(226)  评论(0编辑  收藏  举报