cx_Oracle 操作oracle数据库
cx_Oracle 操作oracle数据库
参考 https://www.jianshu.com/p/78e6640bf4b0 安装配置cx_Oracle模块
数据库配置:
############ 测试_内网 ############
# host_name: '127.0.0.1'
# port: 8080
# service_name: 'service_name'
# username: 'username'
# password: 'password'
############ 测试_外网 ############
host_name: '127.0.0.1'
port: 8080
sid: 'sid'
username: 'username'
password: 'password'
import cx_Oracle
import os
import sys sys.setrecursionlimit(10000) # 例如这里设置为一万
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
os.environ['ORACLE_HOME'] = r'C:\Program Files\My Program Files\instantclient_12_2'
os.environ['TNS_ADMIN'] = r'C:\Program Files\My Program Files\instantclient_12_2'
# sys.path.insert(0, r'C:\Program Files\My Program Files\instantclient_12_2;') def get_yamlMsg(sql_path):
'''
open方法打开直接读出来
:param sql_path:
:return:
'''
with open(sql_path, 'r', encoding='utf-8') as f:
sqlMsg = f.read()
# 用load方法转字典
sql_dic = yaml.load(sqlMsg)
return sql_dic # 获取数据库配置文件路径
db_conf_path = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'conf', "application.yaml")
# 获取数据库配置信息
db_conf = get_yamlMsg(db_conf_path).get('数据库配置') ''' 公共类'''
class MyOracle(object):
def __init__(self):
self.hostname = db_conf.get('host_name')
self.port = db_conf.get('port')
self.sid = db_conf.get('sid', None)
self.service_name = db_conf.get('service_name', None)
self.username = db_conf.get('username')
self.password = db_conf.get('password') def get_connection(self):
try:
if self.service_name:
tnsname = cx_Oracle.makedsn(self.hostname, self.port, service_name=self.service_name)
else:
tnsname = cx_Oracle.makedsn(self.hostname, self.port, self.sid)
self.con = cx_Oracle.connect(self.username, self.password, tnsname)
except Exception as e:
print('连接数据库出错:', e) def get_cur(self):
return self.con.cursor() def excute_one(self, sql):
try:
cur = self.get_cur()
cur.execute(sql)
# cur.prepare('select * from t_emp a where a.empid=:id')
# cur.execute(None,{'id':id})
line = cur.fetchone()
except Exception as e:
print('数据库查询出错:', e)
cur.close()
self.con_close()
cur.close()
return line def excute_some(self, sql):
try:
cur = self.get_cur()
cur.execute(sql)
lines = cur.fetchall()
except Exception as e:
print('数据库查询出错:', e)
cur.close()
self.con_close()
cur.close()
return lines def excute(self, sql):
try:
cur = self.get_cur()
cur.execute(sql)
effectRow = cur.rowcount
except Exception as e:
print('数据库出错:', e)
cur.close()
self.con_close()
cur.close()
return effectRow def con_close(self):
self.con.close() if __name__ == '__main__':
db = MyOracle()
db.get_connection()
print(db.excute_some('''select * from dule'''))
db.con_close()
cx_Oracle 操作oracle数据库的更多相关文章
- Python中通过cx_oracle操作ORACLE数据库的封闭函数
哈哈,看来我的SQL自动化发布,马上就全面支持ORACLE,MYSQL,POSTGRESQL,MSSQL啦... http://blog.csdn.net/swiftshow/article/deta ...
- Python使用cx_Oracle模块连接操作Oracle数据库
1. 简单介绍 cx_Oracle 是一个用来连接并操作 Oracle 数据库的 Python 扩展模块, 支持包含 Oracle 9.2 10.2 以及 11.1 等版本号 2.安装 最好是去官网h ...
- Python操作Oracle数据库:cx_Oracle
.caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...
- Python使用cx_Oracle模块操作Oracle数据库--通过sql语句和存储操作
https://www.jb51.net/article/125160.htm?utm_medium=referral Python使用cx_Oracle调用Oracle存储过程的方法示例 http ...
- python操作oracle数据库-查询
python操作oracle数据库-查询 参照文档 http://www.oracle.com/technetwork/cn/articles/dsl/mastering-oracle-python- ...
- python接口自动化测试框架实现之操作oracle数据库
python操作oracle数据库需要使用到cx-oracle库. 安装:pip install cx-oracle python连接oracle数据库分以下步骤: 1.与oracle建立连接: 2. ...
- ASP.NET操作ORACLE数据库之模糊查询
ASP.NET操作ORACLE数据库之模糊查询 一.ASP.NET MVC利用OracleHelper辅助类操作ORACLE数据库 //连接Oracle数据库的连接字符串 string connect ...
- Java操作Oracle数据库以及调用存储过程
操作Oracle数据库 publicclass DBConnection { //jdbc:oracle:thin:@localhost:1521:orcl publicstaticf ...
- PHP操作Oracle数据库
原文出处 (这是来自“百度文库”中的文章写得很不错) PHP操作Oracle数据库(OCI数据抽象层)OCI(Oracle 8 Call-Interface)是PHP中内置的数据库抽象层函数.下面针对 ...
随机推荐
- mongo 生命周期
监听MongoDB的生命周期,只需重写org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener的子类 ...
- 第十四周课程总结&记事本功能的简单实现。
(1)课程总结: 这周简单学习了下JDBC的内容: JDBC API 允许用户访问任何形式的表格数据,尤其是存储在关系数据库中的数据. 执行流程: (1)连接数据源,如:数据库. (2)为数据库传递查 ...
- 何为受控组件(controlled component)
在 HTML 中,类似 , 和 这样的表单元素会维护自身的状态,并基于用户的输入来更新:当用户提交表单时,前面提到的元素的值将随表单一起被发送.但在 React 中会有些不同,包含表单元素的组件将会在 ...
- mysql 5.7安装方法
yum方式安装rpm包形式,安装mysql的方法: 方法一: 使用yum方式,下载后离线安装mysql的安装包 安装前,先使用命令查看,确定系统未安装mysql安装包.彻底清除之前安装的mysql安装 ...
- IDEA常用智能提示
psvm: 生成代码: public static void main(String[] args) { }
- 阶段3 2.Spring_08.面向切面编程 AOP_6 四种常用通知类型
新建项目 复制上节课的pom.xml内的代码 复制java下的代码 测试类也复制过来 配置文件也拷贝过来 logge下增加几个方法 测试方法只需要一个saveAccount方法就可以了 增加其他三种通 ...
- Delphi中基本控件之SaveDialog控件的使用总结
首先向Form窗体拖一个SaveDialog控件,Name属性改为:dlgSave,然后添加一个按钮,Caption属性改为:浏览,Name属性改为:btnBrowse. 然后双击浏览按钮添加如下代码 ...
- python虚拟环境mkvirtualenv使用
安装virtualenvwrapper pip install virtualenvwrapper 修改默认虚拟环境目录: 环境变量中新建: 变量名:WORKON_HOME 变量值:目录位置 ( ...
- linux 设备树中 dwc3 节点的phys参数含义
找了好久今天找到了,记录一下: &dwc3_0 { ... phys = <&lane3 PHY_TYPE_USB3 1 2 26000000>; ... } Requir ...
- Centos6.5修改mysql登陆用户密码
1.修改mysql的登陆设置: vim /etc/my.cnf 并在[mysqld] 下面添加一句:skip-grant-tables=1 添加成功后保存退出. 2.重启mysql并修改密码 重启my ...