溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Error: DPI-1047: Cannot locate a 64-bit Oracle Client library: "問題

發(fā)布時(shí)間:2020-08-10 23:04:46 來源:ITPUB博客 閱讀:1341 作者:studywell 欄目:編程語言

參考:

https://blog.csdn.net/zhaoyq008/article/details/94018743

        python 打包后,在別的機(jī)器遇上運(yùn)行,提示報(bào)錯(cuò),報(bào)錯(cuò)內(nèi)容為:

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

    

根本問題:打包時(shí)未將oracle dll文件打包進(jìn)去,導(dǎo)致運(yùn)行找不到鏈接庫。

    

臨時(shí)解決辦法:

 方法一:

    1、安裝oracle 64位客戶端

    2、配置環(huán)境path,將客戶端的目錄,比如d:\oracle\product\11.2.0\client_1\bin 配置到path中

    3、前面兩步做完,執(zhí)行報(bào)了另一個(gè)錯(cuò) ora-01804 ,將 ORACLE_HOME目錄設(shè)置為 d:\oracle\product\11.2.0\client_1 后,問題解決。

方法二:

    1、下載輕量級(jí)的Oracle客戶端: 比如 instantclient-basic-windows.x64-11.2.0.4.0.zip

    2、配置環(huán)境變量path:      將客戶端的目錄,比如 D:\oracle\instantclient_11_2 添加到 path

    3、配置環(huán)境變量ORACL_HOME:     將客戶端的上一級(jí)目錄 ,比如 D:\oracle 設(shè)置為ORACLE_HOME的值

    4、上面3步做完,執(zhí)行報(bào)錯(cuò):```nls_lan python Error: 'ascii' codec can't encode characters in position 28-31: ordinal not in range(128),```;   然后添加環(huán)境變量NLS_LANG,設(shè)置為:AMERICAN_AMERICA.ZHS16GBK,其值是數(shù)據(jù)庫nls_database_parameters中NLS_LANGUAGE,NLS_TERRITORY,NLS_CHARACTERSET分別對(duì)應(yīng)的值;    設(shè)置完成后執(zhí)行成功。

方法三:    linux 解決方法

    1、下載輕量級(jí)的oracle客戶端并解壓安裝

    2、配置環(huán)境變量LD_LIBRARY_PATH=[oracle客戶端安裝目錄]:$LD_LIBRARY_PATH ,NLS_LANG=[oracle數(shù)據(jù)庫NLS_LANGUAGE_NLS_TERRITORY.NLS_CHARACTERSET] ,并添加到 ~/.bash_profile 中

    3、重新登錄系統(tǒng) 或 source ~/.bash_profile 使環(huán)境變量生效

    4、重新執(zhí)行后成功

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI