美文网首页
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