您好,登錄后才能下訂單哦!
參考:
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、重新執行后成功
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。