Error: DPI-1047: Cannot locate a 64-bit Oracle Client library: "问题
参考:
https://blog.csdn.net/zhaoyq008/article/details/94018743
python 打包后,在别的机器遇上运行,提示报错,报错内容为:
Error: DPI-1047: Cannot locate a 64-bit Oracle Client library: "The specified module could not be found". See https://oracle.github.io/odpi/doc/installation.html#windows for help
根本问题:打包时未将oracle dll文件打包进去,导致运行找不到链接库。
临时解决办法:
方法一:
1、安装oracle 64位客户端
2、配置环境path,将客户端的目录,比如d:\oracle\product\11.2.0\client_1\bin 配置到path中
3、前面两步做完,执行报了另一个错 ora-01804 ,将 ORACLE_HOME目录设置为 d:\oracle\product\11.2.0\client_1 后,问题解决。
方法二:
1、下载轻量级的Oracle客户端: 比如 instantclient-basic-windows.x64-11.2.0.4.0.zip
2、配置环境变量path: 将客户端的目录,比如 D:\oracle\instantclient_11_2 添加到 path
3、配置环境变量ORACL_HOME: 将客户端的上一级目录 ,比如 D:\oracle 设置为ORACLE_HOME的值
4、上面3步做完,执行报错:```nls_lan python Error: 'ascii' codec can't encode characters in position 28-31: ordinal not in range(128),```; 然后添加环境变量NLS_LANG,设置为:AMERICAN_AMERICA.ZHS16GBK,其值是数据库nls_database_parameters中NLS_LANGUAGE,NLS_TERRITORY,NLS_CHARACTERSET分别对应的值; 设置完成后执行成功。
方法三: linux 解决方法
1、下载轻量级的oracle客户端并解压安装
2、配置环境变量LD_LIBRARY_PATH=[oracle客户端安装目录]:$LD_LIBRARY_PATH ,NLS_LANG=[oracle数据库NLS_LANGUAGE_NLS_TERRITORY.NLS_CHARACTERSET] ,并添加到 ~/.bash_profile 中
3、重新登录系统 或 source ~/.bash_profile 使环境变量生效
4、重新执行后成功
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341