python连接oracle报错tns_Python3操作oracle数据库及遇到的报错
首先下载及安装cx_Oracle:
下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/
安装:pip3.6 install E:\Python36\Scripts\cx_Oracle-6.0.2-cp36-cp36m-win_amd64.whl
编写一个简单的测试代码:import cx_Oracle as ora
# print(ora.version)
# 打开数据库连接
# conn = ora.connect("temp", "admin", "localhost:1521/orcl")
conn = ora.connect('temp/admin@localhost:1521/orcl')
# 使用cursor()方法获取操作游标
cr = conn.cursor()sql = '''
select empno, ename, job, mgr, hiredate, sal, comm, deptno, sal+comm as a from emp
WHERE deptno = :did
'''
cr.execute(sql,did = 30)
for i in cr:
print(i)
# 关闭数据库连接
cr.close()
# 提交操作
#conn.commit()
conn.close()
运行代码,结果居然报错了!
报错内容如下:
conn = ora.connect('temp/admin@localhost:1521/orcl')
UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 82-83: invalid continuation byte
一看就是一个字符编码的问题,但无论怎么设置都不能解决问题,在网上也找了类似的错误解决方案,都不能得到解决。
在百度看见一条说系统、oracle客户端、Python要同样是64位或者32位的,不然就报这个错误。
我的电脑系统是64位、Python也是64位的,但是oracle客户端确是32的,这是因为我要连接plsql developer,以前的版本不支持64的客户端。
这样我删除了32位的oracle客户端,重新安装了64位的客户端,结果发现还是会报同样的错误,我就郁闷了,突然灵光一闪环境变量没有配,Python是需要oci.dll文件的,我就在环境变量中做了一下配置:
e:\Oracle\Instant Client\bin
重启IDE,再次运行,问题解决。
python连接oracle报错tns_Python3操作oracle数据库及遇到的报错相关推荐
- c 连接oracle 通用类,c#操作oracle,有没有相仿sqlhelp之类的通用操作类(6)
当前位置:我的异常网» C# » c#操作oracle,有没有相仿sqlhelp之类的通用操作类 c#操作oracle,有没有相仿sqlhelp之类的通用操作类(6) www.myexceptions ...
- java制作oracle程序,Java程序操作Oracle两种方式之简单实现
Java程序操作Oracle两种方式之简单实现 1.通过JDBC-ODBC桥连接Oracle数据库 (1)创建odbc源,在控制面板->管理工具->数据源(odbc)中添加DSN,比如取名 ...
- java操作oracle数据_Java jdbc操作oracle数据库的两种方式
本文由广州疯狂软件java培训分享: 第一种应该是比较古老的方法了. Windows下采用JDBC-ODBC Bridge连接oracle数据库 1. 安装oracle客户端程序,在tnsnames. ...
- oracle中数据文件创建,操作oracle中的数据文件
收藏于http://dev.yesky.com/296/8090796.shtml Oracle数据库 中管理表空间和数据文件 数据库的三大组成部分:数据文件,控制文件,Redo日志. 表空间分为系统 ...
- 用python向mongodb插入数据_Python操作MongoDB数据库(一)
Python操作MongoDB数据库(一) 前言 干货文章继续出发!隔的时间有些久了哈,对 MongoDB 安装回顾的同学,可以看下windows环境 <初识 MongoDB 数据库>.这 ...
- 【python】之pymysql模块,操作mysql数据库!
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBM ...
- python mysql 基于 sqlalvhrmy_Python基于DB-API操作MySQL数据库过程解析
Python提供了一个标准数据库API,称为DB-API,用于处理基于SQL的数据库. 与任何底层数据库的交互都可以使用DB-API,因为DB-API在代码与驱动程序之间提供了一个抽象层,可以根据需要 ...
- python获取redis数据_Python之操作redis数据库
使用redis模块 一.操作redis 1.添加信息 (1)直接建key-value信息: 右键-Add New Key,手动添加key和value 右键-Console,打开控制台,写入命令 (2) ...
- tp5连接mongo和mysql_tp5(thinkPHP5)操作mongoDB数据库的方法
本文实例讲述了tp5(thinkPHP5)操作mongoDB数据库的方法.分享给大家供大家参考,具体如下: 1.通过composer安装 composer require mongodb/mongod ...
最新文章
- flask sqlalchemy踩坑记录
- 用python爬取网站数据期末作业_python实战第一周作业:爬取一页商品数据
- PostgreSQL 数据库备份
- 野火Linux开发板接入华为云,Huawei_LiteOS——STM32F1移植(野火开发板)
- 报表没完没了怎么办? | 润乾集算器提效报表开发
- [优先队列][堆] Luogu P4505 组合子逻辑
- LeetCode 1701. 平均等待时间(模拟)
- java+ssh+mysql酒店网站管理系统源码
- RCurl网络数据抓取
- 话里话外:中小型装备制造企业竞争优势构建之路
- ASCII码,HTML转义字符表,以及快捷键
- sql server 数据库设计实例
- linux下使用 sb接口扫描仪,怎样在Linux下设置和使用扫描仪.doc
- protobuf3 oneof
- 国内计算机期刊英语版本,国内计算机类期刊 SCI收录:(示例代码)
- (译)《科学美国人》:多样的人际网络导致繁荣的本地经济
- Notes V11内存不足?
- 1.3寸OLED SH1106 IIC驱动显示错误解决方法
- MFC Tab控件的使用方法
- 代码质量管理平台搭建
热门文章
- webapi 路由限制命名控件_什么是命名数据网络NDN?
- skywalking 安装_分布式监控系统SkyWalking
- Flink的并行度和Kafka的partition的结合
- VUE3.x的基本使用
- kafka消息队列的概念理解
- java报错:java:xxx包不存在
- 仿抖音视频自动播放html,vue 仿抖音视频播放切换
- linux音乐关机,在Deepin操作系统中关闭或者更改开机关机音乐的方法
- python之禅星号_那些用起来很爽,但用不好可能会被人打的Python骚操作
- this.$modal.confirm 自定义按钮关闭_【勤哲资料】7.6 自定义打印