当前位置: 首页 > news >正文

广州网站建设公司好吗平台网站

广州网站建设公司好吗,平台网站,哈尔滨广告设计公司有哪些,工程网站模板制作教程背景 在数据集成业务中集成会需要连接到Oralce读取和更新数据,定义一个用于连接 Oracle 数据库的工具类方便其他脚本中使用可以有以下好处: 提升可维护性:集中管理配置信息和异常处理逻辑,修改配置或处理异常时只需在工具类一处操作。增强复用性&#xf…

背景

在数据集成业务中集成会需要连接到Oralce读取和更新数据,定义一个用于连接 Oracle 数据库的工具类方便其他脚本中使用可以有以下好处:

  • 提升可维护性:集中管理配置信息和异常处理逻辑,修改配置或处理异常时只需在工具类一处操作。
  • 增强复用性:避免重复编写数据库连接和关闭代码,便于在不同模块使用,也利于添加新操作方法。
  • 保障安全性:封装敏感信息,实现统一权限管理,降低信息泄露风险。
  • 便于代码测试:可模拟数据库连接和操作,避免测试影响真实数据库。

直接上代码

#!/usr/bin/env python
# encoding: utf-8
# @author: Evan#chengwenit.com
# Pyhton访问Oracle工具类import cx_Oracle
from cjc_cfg import oracleconn  # 从配置文件中导入默认的 Oracle 连接信息class OracleDBClient:def __init__(self, user=None, password=None, host=None, port=None, sid=None):"""初始化数据库连接信息,默认从 cjc_cfg.oracleconn 获取:param user: 数据库用户名:param password: 数据库密码:param host: 数据库主机地址:param port: 数据库端口:param sid: 数据库SID"""self.user = user or oracleconn["user"]self.password = password or oracleconn["passwd"]self.host = host or oracleconn["host"]self.port = port or int(oracleconn["port"])  # 确保是整数self.sid = sid or oracleconn["sid"]self.connection = Noneself.cursor = Nonedef connect(self):"""建立数据库连接"""try:dsn = cx_Oracle.makedsn(self.host, self.port, sid=self.sid)self.connection = cx_Oracle.connect(user=self.user, password=self.password, dsn=dsn)self.cursor = self.connection.cursor()except cx_Oracle.DatabaseError as e:raise Exception(f"数据库连接失败: {e}")def disconnect(self):"""关闭数据库连接"""if self.cursor:self.cursor.close()if self.connection:self.connection.close()def _dict_fetchall(self, cursor):"""将查询结果转换为字典列表"""columns = [desc[0] for desc in cursor.description]return [dict(zip(columns, row)) for row in cursor.fetchall()]def execute_query(self, query: str, parameters=None):"""执行查询语句并返回字典格式结果"""try:if parameters:self.cursor.execute(query, parameters)else:self.cursor.execute(query)return self._dict_fetchall(self.cursor)except cx_Oracle.DatabaseError as e:raise Exception(f"查询执行失败: {e}")def execute_non_query(self, query: str, parameters=None):"""执行非查询语句(如 INSERT、UPDATE、DELETE)"""try:if parameters:self.cursor.execute(query, parameters)else:self.cursor.execute(query)self.connection.commit()except cx_Oracle.DatabaseError as e:self.connection.rollback()raise Exception(f"非查询语句执行失败: {e}")def execute_many(self, query: str, parameters_list):"""批量执行 SQL 语句"""try:self.cursor.executemany(query, parameters_list)self.connection.commit()except cx_Oracle.DatabaseError as e:self.connection.rollback()raise Exception(f"批量执行失败: {e}")
http://www.dtcms.com/a/481050.html

相关文章:

  • 北京市网站建设 维护推荐做网站看什么书好
  • 电子商务网站建设服务外包wordpress serene
  • 基于php的网站开发流程图北京发布重磅消息
  • 上海专业网站制作设计地方建立网站做SEM
  • 湖南seo优化哪家好长沙seo外包服务
  • 企业网站优化设计的含义济宁市做网站
  • 网站开发经理中海外交通建设有限公司网站
  • 毕业设计网站题目网站服务器维护方案
  • 怎么设置自己的网站中山seo技术
  • 南阳河南网站建设价格做网站的公司 经营范围
  • 快站建站怎么收费的家装室内设计案例分析图文
  • 青岛做公司网站注册的多吗用花瓣网站上的图片做游戏行吗
  • 甘肃省两学一做专题网站天津智能网站建设方案
  • 中煤浙江基础建设有限公司网站网站建设汇卓
  • 网站如何强制修改主页 源码百度响应式网站怎么做
  • 纯静态做企业网站做落地页素材在什么网站上找
  • 网站建设倒计时模板阿泰勒北京网站建设
  • 南京网站建设知识最近军事新闻热点
  • pc网站如何做sp怎样在工商局网站做公示
  • 通州手机网站建设东莞市公共资源交易中心官网
  • 济南手机网站定制价格象山县城乡建设局网站
  • 柳城企业网站建设价格wordpress 函数
  • 网站页面尺寸网站广告的优势
  • 福州网站设计十年乐云seo布吉企业网站建设
  • 沈阳做招聘网站wordpress 按钮连接在哪里
  • 番禺南村网站建设定制软件开发软件
  • 扬州网站建设网站排名优化ci框架的网站
  • 代理网络游戏深圳网站快速排名优化
  • 家居企业网站建设平台广东网站建设效果
  • 做网站的回扣东莞网站推广设计