首先下载及安装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数据库及遇到的报错相关推荐

  1. c 连接oracle 通用类,c#操作oracle,有没有相仿sqlhelp之类的通用操作类(6)

    当前位置:我的异常网» C# » c#操作oracle,有没有相仿sqlhelp之类的通用操作类 c#操作oracle,有没有相仿sqlhelp之类的通用操作类(6) www.myexceptions ...

  2. java制作oracle程序,Java程序操作Oracle两种方式之简单实现

    Java程序操作Oracle两种方式之简单实现 1.通过JDBC-ODBC桥连接Oracle数据库 (1)创建odbc源,在控制面板->管理工具->数据源(odbc)中添加DSN,比如取名 ...

  3. java操作oracle数据_Java jdbc操作oracle数据库的两种方式

    本文由广州疯狂软件java培训分享: 第一种应该是比较古老的方法了. Windows下采用JDBC-ODBC Bridge连接oracle数据库 1. 安装oracle客户端程序,在tnsnames. ...

  4. oracle中数据文件创建,操作oracle中的数据文件

    收藏于http://dev.yesky.com/296/8090796.shtml Oracle数据库 中管理表空间和数据文件 数据库的三大组成部分:数据文件,控制文件,Redo日志. 表空间分为系统 ...

  5. 用python向mongodb插入数据_Python操作MongoDB数据库(一)

    Python操作MongoDB数据库(一) 前言 干货文章继续出发!隔的时间有些久了哈,对 MongoDB 安装回顾的同学,可以看下windows环境 <初识 MongoDB 数据库>.这 ...

  6. 【python】之pymysql模块,操作mysql数据库!

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBM ...

  7. python mysql 基于 sqlalvhrmy_Python基于DB-API操作MySQL数据库过程解析

    Python提供了一个标准数据库API,称为DB-API,用于处理基于SQL的数据库. 与任何底层数据库的交互都可以使用DB-API,因为DB-API在代码与驱动程序之间提供了一个抽象层,可以根据需要 ...

  8. python获取redis数据_Python之操作redis数据库

    使用redis模块 一.操作redis 1.添加信息 (1)直接建key-value信息: 右键-Add New Key,手动添加key和value 右键-Console,打开控制台,写入命令 (2) ...

  9. tp5连接mongo和mysql_tp5(thinkPHP5)操作mongoDB数据库的方法

    本文实例讲述了tp5(thinkPHP5)操作mongoDB数据库的方法.分享给大家供大家参考,具体如下: 1.通过composer安装 composer require mongodb/mongod ...

最新文章

  1. flask sqlalchemy踩坑记录
  2. 用python爬取网站数据期末作业_python实战第一周作业:爬取一页商品数据
  3. PostgreSQL 数据库备份
  4. 野火Linux开发板接入华为云,Huawei_LiteOS——STM32F1移植(野火开发板)
  5. 报表没完没了怎么办? | 润乾集算器提效报表开发
  6. [优先队列][堆] Luogu P4505 组合子逻辑
  7. LeetCode 1701. 平均等待时间(模拟)
  8. java+ssh+mysql酒店网站管理系统源码
  9. RCurl网络数据抓取
  10. 话里话外:中小型装备制造企业竞争优势构建之路
  11. ASCII码,HTML转义字符表,以及快捷键
  12. sql server 数据库设计实例
  13. linux下使用 sb接口扫描仪,怎样在Linux下设置和使用扫描仪.doc
  14. protobuf3 oneof
  15. 国内计算机期刊英语版本,国内计算机类期刊 SCI收录:(示例代码)
  16. (译)《科学美国人》:多样的人际网络导致繁荣的本地经济
  17. Notes V11内存不足?
  18. 1.3寸OLED SH1106 IIC驱动显示错误解决方法
  19. MFC Tab控件的使用方法
  20. 代码质量管理平台搭建

热门文章

  1. webapi 路由限制命名控件_什么是命名数据网络NDN?
  2. skywalking 安装_分布式监控系统SkyWalking
  3. Flink的并行度和Kafka的partition的结合
  4. VUE3.x的基本使用
  5. kafka消息队列的概念理解
  6. java报错:java:xxx包不存在
  7. 仿抖音视频自动播放html,vue 仿抖音视频播放切换
  8. linux音乐关机,在Deepin操作系统中关闭或者更改开机关机音乐的方法
  9. python之禅星号_那些用起来很爽,但用不好可能会被人打的Python骚操作
  10. this.$modal.confirm 自定义按钮关闭_【勤哲资料】7.6 自定义打印