通过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数据库的更多相关文章

  1. python使用cx_oracle连接oracle数据库

    http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html---下载instantclient-basic-linux.x ...

  2. Python cx_oracle自动化操作oracle数据库增删改查封装,优化返回查询数据

    # coding=utf-8 import cx_Oracle import os import json os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_C ...

  3. Oracle实例和Oracle数据库(Oracle体系结构)

    --========================================== --Oracle实例和Oracle数据库(Oracle体系结构) --==================== ...

  4. 【转载】Oracle实例和Oracle数据库(Oracle体系结构)

    免责声明:     本文转自网络文章,转载此文章仅为个人收藏,分享知识,如有侵权,请联系博主进行删除.     原文作者:Leshami      原文地址:http://blog.csdn.net/ ...

  5. oracle 数据库、实例、服务名、SID

    参考:http://www.zhetao.com/content240 在实际的开发应用中,关于Oracle数据库,经常听见有人说建立一个数据库,建立一个Instance,启动一个Instance之类 ...

  6. Oracle实例和Oracle数据库(Oracle体系结构)---转载

    对于初接触Oracle 数据库的人来讲,很容易混淆的两个概念即是Oracle 实例和Oracle 数据库.这两 概念不同于SQL sever下的实例与数据库,当然也有些相似之处.只是在SQL serv ...

  7. python3连接oracle数据库

    声明:python,cx_Oracle和instantclient的版本应一致 我这里使用的版本是python3.6 64位 ,cx_Oracle-5.3-11g.win-amd64-py3.6-2和 ...

  8. 【简说Python WEB】数据库

    目录 [简说Python WEB]数据库 数据库表 docker安装MySQL Flask-SQLAlchemy操纵MySQL数据库 初始化 定义模型 定义关系 数据库的CRUD操作 创建表 inse ...

  9. python——连接Oracle数据库

    前言 Python自带的模块中有很多操纵文件的.我们可以把文件的数据读出来,经过处理还可以将数据写入文件中.但是对于数据的管理和分析来说,数据库还是专业一些.如果Python能和数据库结合在一起,那么 ...

  10. python 连接oracle 数据库

    我们在测试中可能需要对oracle 数据库进行操纵,比如这样一个场景,在往oracle 里面插数据的同时,另一个工具从里面读,如何能保证读出来的数据是有顺序的,即:先插入进去的先读出来,根据这个场景们 ...

随机推荐

  1. Light-Head R-CNN : 旷世提出用于加速two-stage detector的通用结构,速度达102fps

    论文提出Light-Head R-CNN,一个精简的two-stage目标检测器设计准则,在表达能力很强的精简特征图上使用轻量级的R-CNN子网,不仅大量减少推理耗时,还提高了准确率,结合Xcepti ...

  2. KingabseES 表空间限额子句(QUOTA Clause)

    概述 在Oracle数据库中,DBA权限用户,可以为其他用户,创建对象,即使该用户没有任何权限.当DBA用户在该用户的表,插入数据时,提示 超出表空间的空间限额 .这就需要设置该用户的表空间的空间限额 ...

  3. C++原子操作与内存序 1

    问题 #include<iostream> #include<thread> int main() { int sum = 0; auto f = [&sum]() { ...

  4. Sealos 开源初创公司 Trending 全球 TOP50,中国第二!

    今年,Runa Capital (鲁纳资本) 评选出了 2023 年增长最快的 50 家开源创业公司,Sealos 压轴登场,总共有两家中国公司上榜,Sealos 排名第二. Runa Capital ...

  5. #背包#洛谷 4026 [SHOI2008]循环的债务

    题目 分析 设\(dp[t][n][m]\)表示前\(t\)种钞票\(\text{Alice,Bob}\)分别拥有\(n,m\)元所需最小交换钞票数, 枚举\(\text{Alice,Bob}\)最后 ...

  6. 深度剖析 Spring 框架在 Java 应用开发中的优势与应用

    Spring 是用于企业 Java 应用程序开发的最流行的应用程序开发框架.全球数百万开发人员使用 Spring Framework 创建高性能.易于测试和可重用的代码.Spring Framewor ...

  7. C 语言中布尔值的用法和案例解析

    C语言中的布尔值 在编程中,您经常需要一种只能有两个值的数据类型,例如: 是/否 开/关 真/假 为此,C语言有一个 bool 数据类型,称为布尔值. 布尔变量 在C语言中,bool 类型不是内置数据 ...

  8. 数据库SQL(MSSQLSERVER)服务启动错误代码3414

    昨天永和客户联系我,说他们的前台系统报错了,给我发了报错的图片.看到错误的第一眼就知道是数据库出问题了,连不上sql Server. 虽然知道是数据库出问题了,但是刚开始的时候没有打开SQL Serv ...

  9. Python将依赖包导出到requirements.txt文件

    代码 # 查询环境中已经安装的库 pip list # 将所有依赖库导出到 requirements.txt 文件 pip freeze > requirements.txt

  10. 踩坑指南:入门OpenTenBase之部署篇

    引言 OpenTenBase 企业级分布式HTAP开源数据库,具备高扩展性.商业数据库语法兼容.分布式HTAP引擎.多级容灾和多维度资源隔离等能力,成功应用在金融.医疗.航天等行业的核心业务系统. 这 ...