主要介绍了Python操作Oracle数据库的简单方法和封装类,结合实例形式分析了Python简单连接、查询、关闭Oracle数据库基本操作,并给出了一个Python针对Oracle各种操作的封装类,需要的朋友可以参考下 在Python中操作Oracle数据库,通常会使用cx_Oracle库,这是一个Python接口,允许与Oracle数据库进行交互。在本文中,我们将探讨如何通过Python简单地连接、查询和关闭Oracle数据库,并介绍一个封装类来处理各种数据库操作。 连接Oracle数据库需要知道数据库的tns(Transparent Network Substrate)信息,这是Oracle客户端用来解析数据库连接字符串的配置。tns信息通常包含在`tnsnames.ora`文件中,包括数据库的主机名、端口号、服务名或SID(System Identifier)。对于不同的连接方式,tns信息的使用有所不同: 1. 直接提供用户名、密码和监听地址 SID: ```python conn = cx_Oracle.connect('用户名', '密码', '数据库地址:数据库端口/SID') ``` 这种方法需要tnsnames.ora中的配置项包含SID,但并非所有配置都有SID。 2. 用户名、密码和监听地址一起: ```python conn = cx_Oracle.connect('用户名/密码@数据库地址:数据库端口/SID') ``` 这种方式和第一种相似,只是将用户名和密码合并。 3. 使用tns配置信息: ```python tns = cx_Oracle.makedsn('数据库地址', '数据库端口', 'SID') conn = cx_Oracle.connect('用户名', '密码', tns) ``` 或者直接使用tnsnames.ora中的配置项: ```python tns = '(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=KGDB)))' conn = cx_Oracle.connect('nicker', '123456', tns) ``` 这种方法适用于tnsnames.ora中使用SERVICE_NAME的情况。 以下是一个基础的Python操作Oracle数据库的示例代码,包括连接、查询和关闭数据库的操作: ```python #coding:utf-8 import cx_Oracle # 创建数据库连接 ora_tns = '(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=KGDB)))' conn = cx_Oracle.connect('nicker', '123456', ora_tns) # 操作游标 cursor = conn.cursor() # 执行查询 cursor.execute("SELECT * FROM inst_info") # 获取返回信息 rs = cursor.fetchall() # 输出信息 for v in rs: print(v) # 关闭连接,释放资源 cursor.close() conn.close() ``` 为了提高代码的可复用性和可维护性,我们可以创建一个封装类,包含所有必要的数据库操作方法,如连接、执行SQL、获取结果、关闭连接等。以下是一个简单的封装类示例: ```python #coding:utf-8 import cx_Oracle class OracleDB: def __init__(self, username, password, tns): self.conn = cx_Oracle.connect(username, password, tns) self.cursor = self.conn.cursor() def execute_sql(self, sql): self.cursor.execute(sql) return self.cursor.fetchall() def close(self): self.cursor.close() self.conn.close() # 使用封装类 db = OracleDB('nicker', '123456', ora_tns) result = db.execute_sql("SELECT * FROM inst_info") for row in result: print(row) db.close() ``` 这个封装类简化了数据库操作,使其更易于管理和使用。你可以根据实际需求扩展这个类,添加更多方法,如插入、更新、删除等操作。 总结,Python操作Oracle数据库主要依赖cx_Oracle库,连接数据库时需考虑tns配置,这可能涉及SID或SERVICE_NAME。理解这些概念和正确使用tns信息是成功连接的关键。同时,封装类的使用能提高代码的可读性和效率。
































- 粉丝: 2
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 基于计算机软件工程的数据库编程技术.docx
- 大数据技术对城市商业银行小微企业授信评审的作用.docx
- 工程项目业主方项目管理.docx
- 物联网联手大数据.docx
- 中小企业网络管理员实用教程(3).ppt
- 基于大数据的公共资源交易监管方式研究.docx
- 通信与广电管理与实务综合案例二.doc
- AIoT赋能办公大数据企业员工双受益.docx
- 软件开发所需要的三种人.doc
- 互联网+背景下中医药学基础课程思政教育实施策略.docx
- 动态网页方案设计书ASP.doc
- 信贷登记咨询系统建设银行接口系统修改升业务需求.doc
- PPT模板:互联网创新科技年度工作报告商业计划书宣传.pptx
- 申报电子商务重点项目情况书面说明(格式).doc
- 施工项目管理中的风险管理应用.docx
- 产品设计课程传统教学模式缺陷及信息化教学价值分析.docx


