前提:
公司除了領導和開發人員具有管理員權限,其他人員使用的都是域賬號。
過程:
應要求開發一個 winfrom項目,使用data.oracleclient 本地開發,調試無誤,放到服務器共享域用戶使用,報錯 OCIEnvCreate 失敗, 返回代碼為-1 ,
百思不得其解,網上也有很多這種錯誤,一一嘗試,並沒有結局問題。 但是若是 域用戶具有管理員權限,那么程序可正常使用。
后聽人建議,是否oracle 服務器 不在域內,遂將開發服務器加到域,結果 pl/sql 連不上oracle 服務器,無解。
后又聽說 data。oracleclient 使用是管理員權限,想着是否是因為這個問題,嘗試使用其他dll,
先使用了老式的 oralce.DataAccess 本地調試無誤,方到服務器 運行,結果oralce.DataAccess 版本沖突,無解。遂放棄。
后又嘗試 Oracle.ManagedDataAccess。本地可行,服務器上 也可行,歡喜。
結果:
這個OCIEnvCreate 失敗, 返回代碼為-1 折磨了好幾天,之前一直找不到解決辦法,為了趕進度, 架設了webapi ,工作量增大,而且維護不好,
但是 不能放棄解決問題的辦法,今天 天隨人願,雖然不知道具體原因是為何,但是終究是解決了這個問題。