ORACLE ERROR CODE代表的意思

來源:互聯網
上載者:User

標準的 SQLException 提供了一個標準化的資訊段 (SQLState) 和一個供應商特有的資訊段 (ErrorCode)。正如大多數的資料庫和它們的 JDBC 驅動程式實現一樣,Oracle 資料庫和 JDBC 驅動程式通過供應商特有的錯誤碼所提供的關於問題的詳細資料要比通過 SQLException 的與供應商無關的 SQLState 組件所提供的資訊多得多。

Oracle 資料庫及其 JDBC 驅動程式通過 Error Code 提供的更豐富得多的詳細資料的一個明顯的例子是 SQLState 代碼 42000 (通常這指示語法錯誤或訪問問題)。對於 Oracle JDBC 驅動程式的大量不同的 Oracle 錯誤碼,SQLException 都將返回相同的 SQLState 值 (42000)。對應 SQLState 的 42000 值的一些 Oracle 錯誤碼包括 900(“無效 SQL 陳述式”)、903(“無效表名”)、904(“無效標識符”)、911(“無效字元”)和 936(“缺少運算式”)。此外很明顯任何來源於 Oracle JDBC 驅動程式的錯誤(與來源於 Oracle 資料庫的錯誤相反)都沒有任何對應的 SQLState。正如這些例子所顯示那樣,Oracle 特有的錯誤碼所提供的關於錯誤情況的詳細資料要比與供應商無關的 SQLState 所提供的資訊更豐富得多。

有時候區分來源於 Oracle 資料庫的錯誤和來源於 Oracle JDBC 驅動程式的錯誤非常重要。例如,903(“無效的表名”)錯誤碼對應 Oracle 資料庫錯誤碼 ORA-00903。相反,17003(“無效的列索引”)錯誤碼對應 Oracle JDBC 驅動程式錯誤碼 ORA-17003。這兩種類型的錯誤碼(資料庫和 JDBC 驅動程式)都是 Oracle 特有的(如 ORA- 首碼所指示的那樣)。因為沒有為來源於 Oracle JDBC 驅動程式的錯誤提供 SQLState 錯誤碼,因此必須使用 Oracle 特有的錯誤碼來區分由 JDBC 驅動程式導致的錯誤。

在下面的表 1 中列出了訪問 Oracle 資料庫的 JDBC 中的一些最常見的錯誤。“範例程式碼和/或注釋”列中的樣本顯示了導致這種錯誤的 SQL 陳述式類型或提供了關於表中的該行上顯示的特定錯誤的其他注釋。

表 1

錯誤標記 Oracle 錯誤 SQLState 範例程式碼和/或注釋

基於語句:SELECT ename FROM emp 變種的 SQL 相關錯誤

“唯一性限制式” 1 2300 例如主鍵違規

“資源忙且指定 NOWAIT 擷取資源”

54 61000 只有在指定了 NOWAIT 時才出現

“無效的 SQL 陳述式”

900 42000 ename FROM emp

“無效的表名”

903 42000 SELECT ename FROM

“無效的標識符”

904 42000 SELECT empname FROM emp

“無效的字元”

911 42000 SELECT ename FROM emp;

“缺少列”

917 42000 在 INSERT 語句中需要逗號來分隔列時遺漏逗號可能是一個原因。

“在期望的位置沒有找到 FROM 關鍵字”

923 42000 SELECT ename emp

“缺少運算式”

936 42000 SELECT FROM emp

“表或視圖不存在”

942 42000 SELECT ename FROM empp

“不能插入空值”

1400 23000 試圖向包含 NOT NULL 約束的列中插入空值

“值大於該列的指定精度”

1438 22003 試圖插入比列允許的精度更多的數字位元

“無效的數字”

1722 42000 試圖對字元執行數值函數

“完整性條件約束失敗”

2291 23000 試圖插入包含與現有主鍵不匹配的外鍵的行

“值太大,”

12899 72000 試圖插入超出列允許範圍的的值(例如過多的字元)

“Io 異常”

17002 無 來源於 Oracle JDBC 驅動程式的錯誤沒有對應的 SQLState (null)

“無效的列索引”

17003 無

“無效的列名”

17006 無

“數值溢出”

17026 無

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.