美文网首页
python操作oracle数据库插入数据报ascii码错误

python操作oracle数据库插入数据报ascii码错误

作者: 王文强Python | 来源:发表于2019-12-19 14:31 被阅读0次

一、本地python64位, Oracle数据库是32位,报如下错误

cx_Oracle.DatabaseError:DPI-1047:Cannot locate a 64-bit Oracle Client library:

可参考下方网址

网址1:https://blog.csdn.net/qq_36227528/article/details/102758559
网址2:https://www.cnblogs.com/fgl-1/p/12380756.html
下载:https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html

直接执行 sql 语句时 数据能 正常插入oracle数据库,
但是 python 代码 中游标执行sql时就报ascii码错误,如下:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 438-439: ordinal not in range(128)

解决办法:
在py文件的首行添加一段语句:

import os
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'

因为插入的数据中有中文字符。

相关文章

网友评论

      本文标题:python操作oracle数据库插入数据报ascii码错误

      本文链接:https://www.haomeiwen.com/subject/bpvmnctx.html