Python中安装mysqlclient、cx_Oracle 以及查询中文乱码的问题

python 连接MySQL数据库

python 连接MySQL数据库需要安装 mysqlclient ,但是在安装该包时出现这样的报错:
error: Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ Build Tools”: http://landinghub.visualstudio.com/visual-cpp-build-tools
解决问题的记录如下:
方法1:
通过分析报错原因,发现真正的报错原因是没有安装 msgpack .

在这里插入图片描述
解决办法:去这个网站下载 msgpack 的 whl 包

在这里插入图片描述
cp之后表示 Python 的版本,win 之后表示系统是32或者64位,需要保持与使用的机器一致,然后下载下载对应的 mysqlclient 的 whl 包,使用pip install XXX(下载的.whl包)
方法2:
因为提示需要 c++ 14.0,下载14.0.
1 在此处下载c++ 14.0,也可以通过[这个工具](链接: https://pan.baidu.com/s/1ls_YndgahVzBxnG6jsYsEQ 提取码: m8gi)安装。
2 安装可能比较花时间,且占用空间较大,
3 安装完毕再次执行pip install xx

Python 连接Oracle数据库

Python 连接 oracle 数据库需要安装 cx_Oracle 与 oracle 客户端,详细的解决办法参考这篇博文
可以通过 pip install cx_Oracle 安装,也可以在上述网址直接下载 .whl 文件安装,但 whl 文件需要配置与所连接 oracle 的版本匹配,安装完成之后还需要安装oracle instant 客户端。
可以到 oracle 官网下载,版本与系统的版本保持一致。本文以 oracle11 为例进行说明:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下载完成之后解压,把所有的 *.dll 文件拷到 pyhton 所在安装目录下的 Lib\site-packages 目录下。

在这里插入图片描述

Python 利用cx_Oracle 的中文乱码问题

1 查看读取文件的编码格式
需要安装 chardet 包,需要用 mode=‘rb’格式进行读操作,才能利用 chardet.detect() 查看编码格式类型。

在这里插入图片描述

Python 查询或插入中文乱码
Python 利用 cx_Oracle 查询中文的时候显示乱码或插入数据的时候提示编码不对,报错如下:

在这里插入图片描述
这种情况是 Python 的编码格式与 oracle 的编码格式不一致,如下:

在这里插入图片描述
在这里插入图片描述

解决方式如下:
在windows下新增系统变量: NLS_LANG,设置值为: AMERICAN_AMERICA.AL32UTF8。设置完成之后需要重启Python。

在这里插入图片描述
具体的可以参考文章(https://blog.csdn.net/qq_40546896/article/details/80451985)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值