1,python 连接 oracle 需要 oracle 自身的客户端  instantclient,可以去官网下载自己需要的版本,

https://www.oracle.com/technetwork/cn/database/features/instant-client/index-092699-zhs.html

注意, 是选择 x86 还是 x64 取决于你的 python 的位数,而不是 oracle 的位数

当然,你也可以选择安装完整的 oracle 客户端,具体安装方式墙参考  https://www.cnblogs.com/lovling/p/11301054.html

2,安装三方库依赖 cx_Oracle 直接使用 pip 安装,方便简单

pip install cx_Oracle

3,配置环境变量,将第一步下载的客户端解压到某个位置,将其配置到环境变量中,如下图

4,一切准备完毕,开始写代码

# 解决查询出来的数据中文乱码问题
import os
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8' # 访问并操作 ORACLE 数据库
import cx_Oracle # 创建数据库连接,参数格式 => 账号/密码/IP:端口/实例名
conn = cx_Oracle.connect("scott/oracle@192.168.200.100:1521/helowin") # 获取操作游标
cu = conn.cursor() # 执行 SQL 语句,获取结果
sql = "select * from t_menu"
result = cu.execute(sql)
all_data = cu.fetchall() # 打印数据
print(all_data) # 关闭连接
cu.close()
conn.close()

5,如上解决中文乱码问题还可以通过新建 一个环境变量的 方式解决,不需要每个脚本都写两局代码那么麻烦

6,大坑,如果你是第一次使用该脚本,请重启编译器在启动,否则会报找不到 oracle 客户端,当然如果选择用 cmd 窗口运行则没有问题

6.1,在 idea 下运行

6.2,在 cmd 下运行

python 在window 系统 连接并操作远程 oracle 数据库的更多相关文章

  1. 随笔记:如何使用Python连接(/操作)Oracle数据库(Windows平台下)

    遇到需求,我们需要用Python对Oracle数据库进行操作. 这次我们使用cx_Oracle Oracle Client 在安装cx_Oracle之前,先安装Oracle客户端. cx_Oracle ...

  2. sql plus 和 pl/sql无法连接远程oracle数据库

    前言:安装完oracle客户端后,可能会出现sql plus 和 pl/sql无法连接远程oracle数据库的情况,可能是以下原因: 针对sql plus连接不上: 1 可能原因:之前安装过oracl ...

  3. PLSQL连接本地oracle或远程oracle数据库,实现随意切换

    转: PLSQL连接本地oracle或远程oracle数据库,实现随意切换 置顶 2018年01月12日 19:36:45 前方一片光明 阅读数 43542   版权声明:本文为博主原创文章,未经博主 ...

  4. PL/SQL Developer连接远程Oracle数据库

    转自:http://zhengdu.net/archives/152 一.首先看远程端oracle服务是否启动 如果没有启动,请启动oracle服务 ps:创建或者删除oracle监听 二.远程端or ...

  5. ODAC连接远程Oracle数据库时,数据源名称orcl改为gscloud

    今天用ODAC连接远程Oracle数据库时,怎么也连接不上, 更改配置文件的tnsname.ora,使之都一样,并完全配置正确还是出现错误,连接不上. 最后请大神一世,原来是数据源名称的问题. 把数据 ...

  6. 设置sqlplus访问远程oracle数据库的最快方法

    设置sqlplus访问远程oracle数据库的最快方法 时间:2010-01-21 10:57来源: 作者: 点击: 2次 设置sqlplus访问远程oracle数据库的最快方法,如果要连接远程数据库 ...

  7. windows下plsql连接linux下的oracle数据库

    windows下plsql连接linux下的oracle数据库 经过多方查找,终于找到解决办法,特此记录下来,共享之. PL/SQL Develorper:目前未发现可以在Linux系统中安装的版本. ...

  8. Navicat备份远程Oracle数据库到本地

    公司的数据库是本地的,我只能在公司连,回家就不能跑项目了,一跑就报SQLException,所以希望可以把数据库复制到我的本地来. 因为一直在用Navicat操作数据库,这里就分享一下用Navicat ...

  9. 一、导入、导出远程Oracle数据库

    一.导入.导出远程Oracle数据库  其语法实示例如下:    imp/exp [username[/password[@service]]]   其中service是服务实例名,关于如何创建服务实 ...

随机推荐

  1. mkpasswd命令

    全称mkpasswd make password(用来生成密码的一个工具):随机生成一些高强度的密码,默认生成9位由大小写字母,特殊符号和数字的密码 [root@master ~]# yum inst ...

  2. IIC_slaver 的仿真之路

    IIC_slaver 是网上下载的.testbench文件是自带的,出现如图错误. compile  >> compile  option  >> include direct ...

  3. day 17 项目开发常用模块

    ---恢复内容开始--- time模块 import time print(time.time()) # 时间戳: print(time.strftime("%Y-%m-%d %X" ...

  4. getfacl语法2

    一.setfacl——设定文件访问控制列表语法: setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ...  -m, --modify=acl 更改文件的访问控制 ...

  5. webStrom访问只一个很简单的html文件的时候显示local host无法访问。。

    直接从文件夹运行html没问题的,,,然后百度半天,,乱七八糟的答案, 1.谷歌商店安装 JB插件--插件地址 https://chrome.google.com/webstore/detail/je ...

  6. jupyter notebook中使用mpld3进行交互

    用pycharm进行远程服务器debug可以说是非常的爽了,但是设置远程的图片在本地显示会非常的麻烦 jupyter可以用%matplotlib inline 来远程plt.show图片,但是有一个问 ...

  7. [LeetCode&Python] Problem 458. Poor Pigs

    There are 1000 buckets, one and only one of them contains poison, the rest are filled with water. Th ...

  8. CORS(跨域资源共享)的防御机制

    一.为什么会出现CORS: 浏览器的同源策略给WEB开发人员带来了巨大的痛苦,信息的交互共享本来就是网络的意义.所以妥协之后出现了CORS. 二.技术原理: 1.简单跨域: (1)方法要求:只能是GE ...

  9. CC3000 Arduino 连接Yeelink中文注释 示例

    代码如下“ /*************************************************** *这是一个例子的dfrobot维多-无线集成物联网建兴传感器和控制节点 *产品页面 ...

  10. [CSL 的字符串][栈,模拟]

    链接:https://ac.nowcoder.com/acm/contest/551/D来源:牛客网题目描述 CSL 以前不会字符串算法,经过一年的训练,他还是不会……于是他打算向你求助. 给定一个字 ...