ora-01789
查詢塊具有不正確的結果列數
這個錯誤一般在執行表之間的相加(union),相減(minus)等SQL語句時發生。只要將兩段SQL語句的列數調整一致就可以解決了。
OCI-22053
overflow error
NET開發中使用微軟的System.Data.OracleClIEnts訪問Oracle 數據庫時, 如果某字段的精度超出.Net的數據精度,就會發生OCI-22053錯誤.我個人解決OCI-22053錯誤溢出的方法是使用Oracle的函數TRUNC其具體的語法格式如下
TRUNC(number[,decimals])
將length設置為NET允許的長度就OK 了
無法加載DLL(OCI.DLL)
這個問題出現一般是在新裝的Oracle數據庫,具體原因不太清楚。解決辦法也十分奇怪:首先確認oci.dll是否已經安裝到了機器上,如果沒有就需要拷貝一個或者重新安裝。oci.dll 的默認路徑應該是 X:\oracle\ora90\BIN 。然後打開他所在的文件夾的屬性->安全,將你訪問Oracle的帳戶的全部權限取消,然後確定。接著再打開安全把全部權限再選上,最後確定。如果你沒有安全選項卡那我就無能為力了。如果你不知道是哪個帳戶,那每個帳戶都做一次。如果你的權限復選框為不可改,那可以勾選拒絕也一樣。Good luck!
ORA-01555: Snapshot too old
這個錯誤很少見,跟系統設置有關系。實際的問題是對數據庫執行操作時,系統的回滾段太小。引起的原因一般是執行SQL語句時間太長,執行過程中有回滾記錄的操作太多。解決方法要麼是增大數據庫回滾段空間,要麼更改SQL。
ORA-24338: 未執行語句句柄
這個問題主要出現在使用數據庫游標的時候.當執行存儲過程,返回的游標沒有打開時,可能會報這個錯.
open outCursor for select * from tempTab;
游標沒有打開的情況一般是忘記了寫打開游標的語句,也可能是存儲過程中執行出錯,導致最後游標未打開