简说python之初连ORACLE数据库
通过cx_Oracle模块,连接Oracle数据库之后,可以做很多的操作和配置。例如批量查看百余台数据库实例的RMAN备份情况等,现在第一步,连接上Oracle数据库。
Python操作Oracle数据库
1、安装cx_Oracle模块
G:\Py>pip install cx_Oracle
2、安装oracle客户端
这里实验环境是: oracle 11.2.0.4版本。安装的客户端名称如下:
instantclient-basic-windows.x64-11.2.0.4.0.zip,非常要注意的问题。
- 必须是64位。要一一匹配
- 配置PATH路径。
我这里解压的客户端路径为:D:\PLSQL\instantclient_11_2
通过配置如下步骤:Control Panel -> System -> Advanced System Settings -> Advanced -> Environment Variables -> System Variables -> PATH。把D:\PLSQL\instantclient_11_2加入到系统变量的PATH变量中。
效果如下:
G:\Py>set
Path=C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (
x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;
C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;
C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\In
tel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Ma
nagement Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management
Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Componen
ts\IPT;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\Wire
lessCommon\;C:\Program Files\Git\cmd;C:\Program Files\TortoiseGit\bin;D:\PLSQL\i
nstantclient_11_2;C:\Users\sdzhang\AppData\Local\Programs\Python\Python37\Script
s\;C:\Users\sdzhang\AppData\Local\Programs\Python\Python37\;C:\MinGW\bin;C:\Prog
ram Files (x86)\Diffuse;D:\PLSQL\instantclient_11_2;
可以看到之后有了D:\PLSQL\instantclient_11_2路径。
3、python操作oracle示例
import cx_Oracle
conn = cx_Oracle.connect('username/passwd@172.17.xx.204/instancename')
##conn = cx_Oracle.connect('system/xx@172.17.10.204/oradb')
curs = conn.cursor()
sql = 'select * from product_component_version'
curs.execute(sql)
for result in curs:
print(result)
curs.close()
conn.close()
另存为oracle01.py,执行效果如下:
G:\Py>python oracle01.py
('NLSRTL ', '11.2.0.4.0', 'Production')
('Oracle Database 11g Enterprise Edition ', '11.2.0.4.0', '64bit Production')
('PL/SQL ', '11.2.0.4.0', 'Production')
('TNS for Linux: ', '11.2.0.4.0', 'Production')
4、配置TNS
172.xxx.xxx.204 =
(description =
(address = (protocol = tcp)(host = 172.xxx.xxx.204)(port = 1521))
(connect_data =
(service_name = oradb)
)
)
5.通过tns连接数据库的python
import cx_Oracle
conn = cx_Oracle.connect('system/xx@172.17.10.204')
curs = conn.cursor()
sql = 'select * from dual'
curs.execute(sql)
for result in curs:
print(result)
curs.close()
conn.close()
另存为:oracle02.py,效果如下:
G:\Py>python oracle02.py
('X',)
简说python之初连ORACLE数据库的更多相关文章
- python使用cx_oracle连接oracle数据库
http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html---下载instantclient-basic-linux.x ...
- Python cx_oracle自动化操作oracle数据库增删改查封装,优化返回查询数据
# coding=utf-8 import cx_Oracle import os import json os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_C ...
- Oracle实例和Oracle数据库(Oracle体系结构)
--========================================== --Oracle实例和Oracle数据库(Oracle体系结构) --==================== ...
- 【转载】Oracle实例和Oracle数据库(Oracle体系结构)
免责声明: 本文转自网络文章,转载此文章仅为个人收藏,分享知识,如有侵权,请联系博主进行删除. 原文作者:Leshami 原文地址:http://blog.csdn.net/ ...
- oracle 数据库、实例、服务名、SID
参考:http://www.zhetao.com/content240 在实际的开发应用中,关于Oracle数据库,经常听见有人说建立一个数据库,建立一个Instance,启动一个Instance之类 ...
- Oracle实例和Oracle数据库(Oracle体系结构)---转载
对于初接触Oracle 数据库的人来讲,很容易混淆的两个概念即是Oracle 实例和Oracle 数据库.这两 概念不同于SQL sever下的实例与数据库,当然也有些相似之处.只是在SQL serv ...
- python3连接oracle数据库
声明:python,cx_Oracle和instantclient的版本应一致 我这里使用的版本是python3.6 64位 ,cx_Oracle-5.3-11g.win-amd64-py3.6-2和 ...
- 【简说Python WEB】数据库
目录 [简说Python WEB]数据库 数据库表 docker安装MySQL Flask-SQLAlchemy操纵MySQL数据库 初始化 定义模型 定义关系 数据库的CRUD操作 创建表 inse ...
- python——连接Oracle数据库
前言 Python自带的模块中有很多操纵文件的.我们可以把文件的数据读出来,经过处理还可以将数据写入文件中.但是对于数据的管理和分析来说,数据库还是专业一些.如果Python能和数据库结合在一起,那么 ...
- python 连接oracle 数据库
我们在测试中可能需要对oracle 数据库进行操纵,比如这样一个场景,在往oracle 里面插数据的同时,另一个工具从里面读,如何能保证读出来的数据是有顺序的,即:先插入进去的先读出来,根据这个场景们 ...
随机推荐
- Light-Head R-CNN : 旷世提出用于加速two-stage detector的通用结构,速度达102fps
论文提出Light-Head R-CNN,一个精简的two-stage目标检测器设计准则,在表达能力很强的精简特征图上使用轻量级的R-CNN子网,不仅大量减少推理耗时,还提高了准确率,结合Xcepti ...
- KingabseES 表空间限额子句(QUOTA Clause)
概述 在Oracle数据库中,DBA权限用户,可以为其他用户,创建对象,即使该用户没有任何权限.当DBA用户在该用户的表,插入数据时,提示 超出表空间的空间限额 .这就需要设置该用户的表空间的空间限额 ...
- C++原子操作与内存序 1
问题 #include<iostream> #include<thread> int main() { int sum = 0; auto f = [&sum]() { ...
- Sealos 开源初创公司 Trending 全球 TOP50,中国第二!
今年,Runa Capital (鲁纳资本) 评选出了 2023 年增长最快的 50 家开源创业公司,Sealos 压轴登场,总共有两家中国公司上榜,Sealos 排名第二. Runa Capital ...
- #背包#洛谷 4026 [SHOI2008]循环的债务
题目 分析 设\(dp[t][n][m]\)表示前\(t\)种钞票\(\text{Alice,Bob}\)分别拥有\(n,m\)元所需最小交换钞票数, 枚举\(\text{Alice,Bob}\)最后 ...
- 深度剖析 Spring 框架在 Java 应用开发中的优势与应用
Spring 是用于企业 Java 应用程序开发的最流行的应用程序开发框架.全球数百万开发人员使用 Spring Framework 创建高性能.易于测试和可重用的代码.Spring Framewor ...
- C 语言中布尔值的用法和案例解析
C语言中的布尔值 在编程中,您经常需要一种只能有两个值的数据类型,例如: 是/否 开/关 真/假 为此,C语言有一个 bool 数据类型,称为布尔值. 布尔变量 在C语言中,bool 类型不是内置数据 ...
- 数据库SQL(MSSQLSERVER)服务启动错误代码3414
昨天永和客户联系我,说他们的前台系统报错了,给我发了报错的图片.看到错误的第一眼就知道是数据库出问题了,连不上sql Server. 虽然知道是数据库出问题了,但是刚开始的时候没有打开SQL Serv ...
- Python将依赖包导出到requirements.txt文件
代码 # 查询环境中已经安装的库 pip list # 将所有依赖库导出到 requirements.txt 文件 pip freeze > requirements.txt
- 踩坑指南:入门OpenTenBase之部署篇
引言 OpenTenBase 企业级分布式HTAP开源数据库,具备高扩展性.商业数据库语法兼容.分布式HTAP引擎.多级容灾和多维度资源隔离等能力,成功应用在金融.医疗.航天等行业的核心业务系统. 这 ...