Python 连接 Oracle 数据库

  • 第一章:连接 oracle 数据与环境配置
  • ① 连接 oracle 数据库效果演示
  • ② oci 下载
  • ③ oci 配置
  • ④ 环境变量配置
  • ⑤ 检测是否有 oracle 客户端卸载残留

第一章:连接 oracle 数据与环境配置

① 连接 oracle 数据库效果演示

连接的语句比较简单,但是配置起来可能碰到很多问题。
注: 首先如果服务器的 oracle 版本是 64 位的,我们要保证本地用 64 位的 python,还有 64 位的 oci,不然后面会碰到很多坑。

import cx_Oracle as cxcon = cx.connect('ncc_auto_0908', '1', '10.10.xx.xx:1521/orcl')   # 创建连接
cursor = con.cursor()   # 创建游标
cursor.execute("select pk_org, code, name from bd_supplier")   # 执行sql语句
for i in cursor:   # 打印数据print(i)
cursor.close()   # 关闭游标
con.close()   # 关闭数据库连接

运行效果图,我只打印了下面 3 个字段。

② oci 下载

使用 oci 就不用安装整个 oracle 数据库了,oci 相当于一个轻量的客户端。
获取地址:oracle install client 官方下载
根据要远程的数据库下载版本,这个必须跟数据库位数一致,不然不能用。

select * from v$version



③ oci 配置

下载的工具解压后,在根目录下依次添加 network 文件夹,里面再添加 admin 文件夹,然后再新建一个 tnsnames.ora 文件。


tnsnames.ora 文件里添加如下配置信息:
其中 [10.10.xx.xx]/orcl 就作为我远程连接数据库的一个表示,这样起名字是为了方便识别,这个名字可以随便定义。


具体配置信息如下:

[10.10.xx.xx]/orcl =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.xx.xx)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))

④ 环境变量配置

我们的环境变量需要配置 4 个地方,首先查下我们要连接的数据库的语言版本,将其添加到环境变量里。

select userenv('language') from dual;



第二个地方把 oci 我们新增的那个配置文件,指向这个地址,新增一个变量。

然后把 oci 的安装路径指添加到 Path 里。

最后新增一个 oracle_home 变量,指向 oci 安装的上一级,这样就让 python 感觉像装了一个完整的 oracle 客户端似的。

配置完上面的 4 个环境变量,应该就没啥问题了。

⑤ 检测是否有 oracle 客户端卸载残留

如果 NLS_LANG 设置没问题,但是运行报错了,可以在注册表里搜一下看看有几个NLS_LANG 字段,一个的话是正常的,这个就是环境变量里设置的值。

Python 技术篇-连接oracle数据库并执行sql语句实例演示,python连接oracle数据库oci详细配置方法相关推荐

  1. 帝国cms php sql,帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

    帝国CMS下在PHP文件中调用数据库类执行SQL语句实例 例1:连接MYSQL数据库例子.(a.php) db_close(); //关闭MYSQL链接$empire=null; //注消操作类变量? ...

  2. 云服务器怎么执行sql文件在哪里,总结帝国CMS下在PHP文件中怎么调用数据库类执行SQL语句实例...

    总结帝国CMS下在PHP文件中怎么调用数据库类执行SQL语句实例 发布时间:2020-10-19 14:58:08 来源:亿速云 阅读:83 作者:小新 这篇文章将为大家详细讲解有关总结帝国CMS下在 ...

  3. 帝国cms与mysql数据库_帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

    例1:连接MYSQL数据库例子.(a.php) require('e/class/connect.php'); //引入数据库配置文件和公共函数文件 require('e/class/db_sql.p ...

  4. java数据库编程——执行SQL 语句

    [0]README 1) 本文文字描述+source code 均转自 core java volume 2 , 旨在理解 java数据库编程--执行SQL 语句 的基础知识 : 2)for sour ...

  5. Java让数据库执行一条sql_java数据库编程——执行SQL 语句

    [0]README [1]java数据库编程--执行SQL 语句相关 1)执行 SQL 命令前, 首先需要创建一个 Statement 对象: 要创建 statement 对象,不需要调用 Drive ...

  6. python传递参数给sql_Python MySQLdb 执行sql语句时的参数传递方式

    使用MySQLdb连接数据库执行sql语句时,有以下几种传递参数的方法. 1.不传递参数 conn = MySQLdb.connect(user="root",passwd=&qu ...

  7. 【Python】Pandas在数据库中执行SQL语句并加载结果

    提示 建议采用 try-except-finally- 或者 try-finally- ,保证与数据库的连接被关闭. SQL语句入门很简单 (精深很难) ,不会的自己去简单学学. 建库建表 注意con ...

  8. oracle:使用cmd命令在远程oracle服务器上执行sql语句

    在自动化测试过程中有时候我们需要自动跑一些sql脚本来维护自动化测试数据库,那么这时候我们可以选择批处理命令来执行sql语句. 环境准备: 执行sql服务器需要安装有oracle客户端. 步骤如下: ...

  9. python中for循环流程图_Python While循环语句实例演示及原理解析

    这篇文章主要介绍了Python While循环语句实例演示及原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Python 编程中 while ...

最新文章

  1. php7 出现Class 'DOMDocument' not found的解决方法
  2. 那个学Python 的同龄人,也许已经超越你了!
  3. centos 7 安装golang遇到问题: No package golang available.
  4. HTTPS时代全面到来,你准备好了吗?
  5. scalar2color
  6. 前端性能优化(慕课网笔记)-3-代码优化
  7. win10 -- 注册机认为是病毒,死活不让下载 --那就关了它的自带杀毒软件
  8. Kotlin学习资料
  9. 香橙派装ubuntu系统
  10. yar php使用,使用Yar 实现RPC框架
  11. 电脑太卡,重置电脑会解决问题吗
  12. Ubuntu下Linux系统部署fisco时bash操作报错权限不足(permission denied) failed to run command ‘........‘
  13. 改变word自带公式显示的字体的方法
  14. Multi-Tenancy模式,基础服务大规模扩张的时候,是应该推进了。
  15. Dart_Flutter【插件介绍+平台发布+视频】【180个网址导航】
  16. win10 格式化 linux u盘,2.win10格式化磁盘和u盘
  17. 如何解决爬虫程序返回429
  18. 关于IOS中uni.downloadFile下载的图片显示不出来的解决方法
  19. 齐博x1 相关栏目名称的调用
  20. ZOJ3864:Quiz for EXO-L(BFS)

热门文章

  1. 个人学习进度(第十三周)
  2. UOJ【UR #12】实验室外的攻防战
  3. Ado.Net实现简易(省、市、县)三级联动查询,还附加Access数据
  4. JS循环绑定对象或变量
  5. Android中通过Socket直接与RILD进行通信
  6. android backlight
  7. S3C6410 KeyPad驱动(下)
  8. java 获取当前ip_不停机还能替换代码?6年的 Java程序员表示不可思议
  9. jQuery实现enter键登录
  10. 2.Azure资源组迁移