Python连接ORACLE操作

一、准备工作

1、安装cx_Oracle

ttps://pypi.python.org/pypi下查找cx_Oracle并下载
执行安装命令 
pip install cx_Oracle-6.0rc1-cp35-cp35m-win_amd64.whl

2、安装ORACLE,并建用户TEST/TEST_lu

二、编写PY文件

import cx_Oracle

conn = cx_Oracle.connect(‘test/[email protected]‘)print (conn.version)

sql = ‘select * from lu_test‘cr=conn.cursor()cr.execute(sql) #执行sql语句if cr.print("\nThis is Fetchall!")

rs = cr.fetchall() #一次返回所有结果集

print("print all:(%s)" % rs)

print("\n print by row:")

for x1 in rs:    print(x1)

print("\nThis is Fetone!")

cr.execute(sql)

while (1):

    rs = cr.fetchone() #一次返回一行

    if rs == None: break

    print(rs)

#使用参数查询

print("\n select with parameter:")

pr = {‘id‘: 1, ‘tel‘: ‘test1‘}

cr.execute(‘select * from lu_test where id=:id or name=:tel‘, pr)

#这里我们将参数作为一个字典来处理的

rs = cr.fetchall()

print(rs)

cr.execute(‘select * from lu_test where id=:myid or name=:myphone‘, myid=2, myphone=‘test2‘)

#这里我们直接写参数

rs = cr.fetchall()

print(rs)

up=conn.cursor()up.execute("update lu_test set id=4 where name =‘test1‘")conn.commit();cursor = conn.cursor()cursor.execute("select * from lu_test")row = cursor.fetchone()#print (row[1][0])#print (row[2][0])#print (row[0][0])print(row[1])row1=cursor.fetchall()for row_x in row1:     print(row_x)

cursor.close()conn.close()

三、另外的例子
. 创建一个简单的python文件,测试安装是否成功

[python] view plain copy

print?

  1. import cx_Oracle
  2. conn = cx_Oracle.connect(‘fkong/[email protected]/orcl‘)
  3. cursor = conn.cursor ()
  4. cursor.execute ("select * from dual")
  5. row = cursor.fetchone ()
  6. print row[0]
  7. cursor.close ()
  8. conn.close ()
4. 下面看一个数据库建表和插入操作

[python] view plain copy

print?

  1. import cx_Oracle
  2. conn = cx_Oracle.connect(‘fkong/[email protected]/orcl‘)
  3. cursor = conn.cursor ()
  4. cursor.execute ("CREATE TABLE TEST(ID INT, COL1 VARCHAR(32), COL2 VARCHAR(32), COL3 VARCHAR(32))")
  5. cursor.execute ("INSERT INTO TEST (ID, COL1, COL2, COL3)VALUES(1, ‘a‘, ‘b‘, ‘c‘)")
  6. cursor.execute ("INSERT INTO TEST (ID, COL1, COL2, COL3)VALUES(2, ‘aa‘, ‘bb‘, ‘cc‘)")
  7. cursor.execute ("INSERT INTO TEST (ID, COL1, COL2, COL3)VALUES(3, ‘aaa‘, ‘bbb‘, ‘ccc‘)")
  8. conn.commit()
  9. cursor.close ()
  10. conn.close ()
5. 下面再来看看查询,查询通常有两种方式:一种是使用cursor.fetchall()获取所有查询结果,然后再一行一行的迭代;另一种每次通过cursor.fetchone()获取一条记录,直到获取的结果为空为止。看一下下面的例子:

[python] view plain copy

print?

  1. import cx_Oracle
  2. conn = cx_Oracle.connect(‘fkong/[email protected]/orcl‘)
  3. cursor = conn.cursor ()
  4. cursor.execute ("SELECT * FROM TEST")
  5. rows = cursor.fetchall()
  6. for row in rows:
  7. print "%d, %s, %s, %s" % (row[0], row[1], row[2], row[3])
  8. print "Number of rows returned: %d" % cursor.rowcount
  9. cursor.execute ("SELECT * FROM TEST")
  10. while (1):
  11. row = cursor.fetchone()
  12. if row == None:
  13. break
  14. print "%d, %s, %s, %s" % (row[0], row[1], row[2], row[3])
  15. print "Number of rows returned: %d" % cursor.rowcount
  16. cursor.close ()
  17. conn.close ()

原文地址:https://www.cnblogs.com/programer-xinmu78/p/10661282.html

时间: 2024-11-08 08:30:33

Python连接ORACLE操作的相关文章

Python连接Oracle实例

最近需要用Python连接Oracle操作,之前接触过,没自己手写过,特此记录.数据库是Oracle 11,python版本2.7的. 这个需求是两个库A和B,假设现在需要识别一张表在A库里面有没记录,如果没有,将表名写入一个log,如果有再去B库里查有没有该表,如果没有,表名计入另外一个log文件. 查库的sql语句 select t.* from all_objects t where t.object_name = upper(&table_name); Python连接oracle需要的

python 连接oracle(cx_Oracle模块)

使用python连接oracle数据库:1.安装python3.0:2.安装cx_Oracle模块:3.安装ORACLE_CLIENT :(ORACLE_CLIENT和python位数保持一致:要么都安装32位要么都用64位) 导入连接oracle的模块 import cx_Oracle #获取连接 username=用户名 pass=密码 ipadd=数据库地址 sid=数据库实例 conn=cx_Oracle.connect('username/[email protected]/sid')

python连接Oracle数据库

# python连接oracle数据 ## 介绍------------------------------ python 连接oracle数据库,可以使用cx_oracle模块 - 使用如下命令安装```python -m pip install cx_oracle --pre``` ## 连接oracle代码-----------------------------```pythonimport cx_oracle # 设置 dsn = cx_oracle.makedsn("192.168.

python 连接oracle 报错 cx_Oracle.DatabaseErro

1,python 连接oracle的时候报错如下 cx_Oracle.DatabaseError: ORA-24315: 非法的属性类型 ,2,导致这个错误的原因是服务器oracle版本和客户端cx_oracle客户端版本不一致引起的,所以通过下面命令询oracle版本. select * from v$version 3,然后到 http://sourceforge.net/projects/cx-oracle 下载对应的客户端版本即可

用python连接oracle(11g)数据库

准备: 1.下载对应版本的oracle-instantclient(我这里是11.2.0.1.0) http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 2.安装 rpm -ivh oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.rpm 3.配置环境变量 export LD_LIBRARY_PATH=/usr/lib/oracl

Python 连接 Oracle数据库

1.环境设置 [[email protected] ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [[email protected] ~]# python -V Python 2.6.6 版本:Oracle 12c 2.前提:安装cx_Oracle模块依赖包 由于使用Python连接Oracle,所以需要下载oracle客户端包 官网:http://www.oracle.com/technetwork/topics/linuxx8

Python连接Oracle,从安装到基本用法

本文将介绍如何使用Python连接Oracle数据库进行数据读取与写入.首先介绍环境的安装,此部分借鉴网友的博客,后一部分介绍连接数据库和读书取数等基本使用语法. 1. 环境安装 借鉴网友阑珊的博客,感谢分享! https://www.cnblogs.com/lansan0701/p/8039332.html 2. 使用语法 (1) 连接数据库 #加载cx_Oracle模块 import cx_Oracle #创建连接 conn = cx_Oracle.connect('用户名/密码@主机IP地

windows下python连接oracle数据库

python连接oracle数据库的方法,具体如下 1.首先安装cx_Oracle包2.解压instantclient-basic-windows.x64-11.2.0.4.0.zip到c:\oracle3.拷贝instantclient_11_2下所有.dll文件到c:\python34\Lib\site-packages\下(根据自己的python版本拷贝到相应的site-packages文件夹下) python连接示例代码: # -*- coding: utf-8 -*- import c

python连接mysql操作(1)

python连接mysql操作(1) import pymysql import pymysql.cursors # 连接数据库 connect = pymysql.Connect( host='10.10.146.28', port=3306, user='admin_m', passwd='fcfmTbRw1tz2x5L5GvjJ', db='test', charset='utf8mb4' ) def create_table(): cursor = connect.cursor() #