python+oracle

python 下载install cx_Oracle
下载oracle客户端3个oci放入site-packages

https://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/index.html
cx_Oracle官方文档
https://cx-oracle.readthedocs.io/en/latest/module.html#cx_Oracle.connect
python常用数据库操作技巧
https://www.jb51.net/Special/681.htm
https://www.jb51.net/article/139627.htm

import cx_Oracle
db = cx_Oracle.connect('rdvs','rdvs','10.230.27.101/evsdev')#连接数据库
print(db)
cr=db.cursor()#创建cursor,游标对象
sql = "select * from scores s where s.degree in ('85','86','88')"
cr.execute(sql)#执行sql语句
rs = cr.fetchall()#一次取完所有数据
# fet=exe.fetchone()#一次取一行数据
print(rs)
cr.close()#关闭光标
db.close()#关闭数据库连接


cx_Oracle. Binary (string)构造一个保存二进制 (long) 字符串值的对象
import cx_Oracle
db = cx_Oracle.connect('rdvs','rdvs','10.230.27.101/evsdev')#连接数据库
print(db)
cr=db.cursor()#创建cursor,游标对象
sql = "select * from scores s where s.degree in ('85','86','88')"
cr.execute(sql)#执行sql语句
rs = cr.fetchall()#一次取完所有数据
# fet=exe.fetchone()#一次取一行数据
print(rs)
cr.close()#关闭光标
db.close()#关闭数据库连接
cx_Oracle.clientversion()#oracle版本
cx_Oracle.Date(year, month, day) #构造一个保存日期值的对象。
cx_Oracle.DateFromTicks(ticks) #构造一个对象, 从给定的时间戳
cx_Oracle.makedsn(host, port, sid=None, service_name=None, region=None, sharding_key=None,
super_sharding_key=None) #返回适合用作连接 () 的 dsn 参数的字符串。
cx_Oracle.SessionPool #返回一个数据库资源池的对象
cx_Oracle.Time(hour, minute, second)#返回时间
cx_Oracle.TimeFromTicks(ticks)#构造一个对象, 从给定的时间戳
cx_Oracle.Timestamp(year, month, day, hour, minute, second)#构造一个保存时间戳值的对象。
cx_Oracle.TimestampFromTicks(ticks)
#常数
cx_Oracle.apilevel#表示支持的数据库 API 级别的字符串常量。目前为 "2.0"。
cx_Oracle.buildtime#字符串常量, 说明生成二进制文件的时间。
cx_Oracle.paramstyle#字符串常量, 说明接口所需的参数标记格式的类型。当前 "命名" 为 "名称 =: 名称"。
cx_Oracle.threadsafety#表示接口支持的线程安全级别的整数常量。当前为 2, 这意味着线程可能共享模块和连接, 而不是游标。
# 共享意味着线程可以使用资源而不使用 mutex 信号包来实现资源锁定。请注意, 为了在要在不同线程中连接和断开的程序中
# 使用多个线程, 连接 () 或 SessionPool () 的线程参数必须为 true
#高级排队: 交付模式
cx_Oracle.MSG_BUFFERED#此常量用于指定排队/取消排队操作应对缓冲的消息进行排队或取消排队。
cx_Oracle.MSG_PERSISTENT#此常量用于指定排队/取消排队操作应对持久消息进行排队或取消排队。这是默认值。
cx_Oracle.MSG_PERSISTENT_OR_BUFFERED#此常量用于指定取消排队操作应取消永久或缓冲消息的排队。
#高级排队: 取消排队模式
cx_Oracle.DEQ_BROWSE#此常量用于指定取消排队应读取消息而不获取消息的任何锁 (戴维营到 select 语句)。
cx_Oracle.DEQ_LOCKED#此常量用于指定在事务持续时间内, 取消排队应读取并获取消息的写锁定 (等效于 update 语句的 select)。
cx_Oracle.DEQ_REMOVE#此常量用于指定取消排队应读取消息并更新或删除它。这是默认值。
cx_Oracle.DEQ_REMOVE_NODATA#此常量用于指定取消排队应确认收到邮件, 但不传递实际邮件内容。
#高级队列: 取消排队导航模式
cx_Oracle.DEQ_FIRST_MSG#此常量用于指定取消排队应检索与搜索条件匹配的第一个可用消息。这会将位置重置为队列的开头。
cx_Oracle.DEQ_NEXT_MSG#此常量用于指定取消排队应检索与搜索条件匹配的下一个可用消息。如果上一条消息属于消息组, AQ 将检索与搜索条件匹配且属于消息组的下一个可用消息。这是默认设置。
cx_Oracle.DEQ_NEXT_TRANSACTION#此常量用于指定取消排队应跳过事务组的其余部分并检索下一个事务组的第一个消息。仅当为当前队列启用消息分组时, 才能使用此选项。
#高级排队: 取消可见性模式
cx_Oracle.DEQ_IMMEDIATE#此常量用于指定取消排队应作为独立事务的一部分执行其工作。
cx_Oracle.DEQ_ON_COMMIT#此常量用于指定取消排队应是当前事务的一部分。这是默认值。
#高级排队: 排队等待模式
cx_Oracle.DEQ_NO_WAIT#此常量用于指定不等待消息可用于出列的排队。
cx_Oracle.DEQ_WAIT_FOREVER#此常量用于指定取消排队应永远等待消息可用于出列。这是默认值。
#高级队列: 排队可见性模式
cx_Oracle.ENQ_IMMEDIATE#此常量用于指定排队应作为独立事务的一部分执行其工作。
cx_Oracle.ENQ_ON_COMMIT#此常量用于指定排队应为当前事务的一部分。这是默认值。
#高级队列: 消息状态
cx_Oracle.MSG_EXPIRED#此常量用于指定消息已移动到异常队列。
cx_Oracle.MSG_PROCESSED#此常量用于指定消息已处理并已保留。
cx_Oracle.MSG_READY#此常量用于指定消息已准备好处理。
cx_Oracle.MSG_WAITING#此常量用于指定尚未达到消息延迟。
#高级排队: 其他
cx_Oracle.MSG_NO_DELAY3#此常量是作为 msgproperties 参数传递给连接的消息属性对象的延迟属性的可能值. deq () 和连接. enq () 方法。它指定不应施加延迟, 并且消息应立即可用于出列。这也是默认值。
cx_Oracle.MSG_NO_EXPIRATION#此常量是作为 msgproperties 参数传递给连接的消息属性对象的过期属性的可能值. deq () 和连接. enq () 方法。它指定消息永远不会过期。这也是默认值。
#连接授权模式
cx_Oracle.PRELIM_AUTH#此常量用于指定要使用初步身份验证。这是执行数据库启动和关闭所必需的。
cx_Oracle.SYSASM#此常量用于指定要获取 SYSASM 访问。
cx_Oracle.SYSBKP#
cx_Oracle.SYSDBA#
cx_Oracle.SYSDGD#
cx_Oracle.SYSKMT#
cx_Oracle.SYSOPER#
cx_Oracle.SYSRAC#
#数据库关闭模式
cx_Oracle.DBSHUTDOWN_ABORT#此常量用于指定调用方不应等待当前处理完成或用户断开与数据库的连接。这只应在不寻常的情况下使用, 因为下次启动时可能需要数据库恢复。
cx_Oracle.DBSHUTDOWN_FINAL#此常量用于指定实例可以真正停止。只有在数据库与其他模式之一关闭 (中止) 和数据库已关闭并使用相应的 SQL 命令卸除之后, 才应执行此操作。
cx_Oracle.DBSHUTDOWN_IMMEDIATE#此常量用于指定应回滚所有未提交的事务, 并应断开所有连接的用户。
cx_Oracle.DBSHUTDOWN_TRANSACTIONAL#此常量用于指定应禁止与数据库的进一步连接, 不应允许新的事务。然后, 它等待所有活动事务完成。
cx_Oracle.DBSHUTDOWN_TRANSACTIONAL_LOCAL#此常量用于指定应禁止与数据库的进一步连接, 不应允许新的事务。然后, 它只等待本地活动事务完成。
#事件类型
cx_Oracle.EVENT_AQ#此常量用于指定在创建订阅时指定的队列中有一个或多个消息可用于出列。
cx_Oracle.EVENT_DEREG#此常量用于指定已取消注册订阅, 并且不会发送其他通知。
cx_Oracle.EVENT_NONE#此常量用于指定不提供有关事件的信息。
cx_Oracle.EVENT_OBJCHANGE#此常量用于指定数据库更改发生在注册到订阅. registerquery () 方法的表上。
cx_Oracle.EVENT_QUERYCHANGE#此常量用于指定注册到订阅. registerquery () 方法的查询的结果集已更改。
cx_Oracle.EVENT_SHUTDOWN#此常量用于指定实例正在关闭的过程中。
cx_Oracle.EVENT_SHUTDOWN_ANY#此常量用于指定任何实例 (在运行 RAC 时) 正在关闭的过程中。
cx_Oracle.EVENT_STARTUP#此常量用于指定实例正在启动的过程中。
#操作代码
cx_Oracle.OPCODE_ALLOPS#此常量用于指定应为所有操作发送消息。
cx_Oracle.OPCODE_ALLROWS#此常量用于指定表或查询已完全失效。
cx_Oracle.OPCODE_ALTER#此常量用于指定当已注册表以某种方式由 DDL 更改时, 或该消息标识已更改的表时, 应发送消息。
cx_Oracle.OPCODE_DELETE#此常量用于指定在删除数据时应发送消息, 或者消息标识已删除的行。
cx_Oracle.OPCODE_DROP#此常量用于指定在删除已注册的表时应发送消息, 或者消息标识已删除的表。
cx_Oracle.OPCODE_INSERT#此常量用于指定在插入数据时应发送消息, 或者消息标识已插入的行。
cx_Oracle.OPCODE_UPDATE#此常量用于指定在更新数据时应发送消息, 或者消息标识已更新的行。
#会话池获取模式:这些常量是数据库 API 定义的扩展。它们是 SessionPool () 方法的 getmode 参数的可能值。
cx_Oracle.SPOOL_ATTRVAL_FORCEGET#此常量用于指定如果池中没有可用的会话, 将返回新连接。
cx_Oracle.SPOOL_ATTRVAL_NOWAIT#此常量用于指定如果池中没有可用的会话, 则应引发异常。这是默认值。
cx_Oracle.SPOOL_ATTRVAL_WAIT#此常量用于指定调用方应等待, 直到会话可用, 如果池中没有可用的会话。
cx_Oracle.SPOOL_ATTRVAL_TIMEDWAIT#此常量用于指定调用方应等待一段时间 (由 waitTimeout 参数定义), 以便会话在返回错误之前变为可用。
#会话池纯度
cx_Oracle.ATTR_PURITY_DEFAULT#此常量用于指定会话的纯度是由 oracle 标识的默认值 (有关详细信息, 请参阅 oracle 文档)。这是默认值。
cx_Oracle.ATTR_PURITY_NEW#此常量用于指定从池中获取的会话应该是新的, 并且不具有任何以前的会话状态。
cx_Oracle.ATTR_PURITY_SELF#此常量用于指定从池中获取的会话不需要是新的, 并且可能具有以前的会话状态。
#订阅分组类
cx_Oracle.SUBSCR_GROUPING_CLASS_TIME#此常量用于指定事件将按接收它们的时间段进行分组。
#订阅分组类型
cx_Oracle.SUBSCR_GROUPING_TYPE_SUMMARY#此常量用于指定当事件分组时, 应发送事件的摘要而不是单个事件。这是默认值。
cx_Oracle.SUBSCR_GROUPING_TYPE_LAST#此常量用于指定当事件分组时, 应发送组成该组的最后一个事件, 而不是单个事件。

print(r)
 

转载于:https://www.cnblogs.com/ssyyhh/p/9837739.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值