oracle常見的異常

來源:互聯網
上載者:User

經常遇到一些java.sql.SQLException異常,從網上彙集一些前人的資料,以供以後調試查閱!

ORA-00904:  invalid column name 無效列名
ORA-00942:  table or view does not exist 表或者視圖不存在
ORA-01400:  cannot insert NULL into () 不能將空值插入
ORA-00936: 缺少運算式
ORA-00933: SQL 命令未正確結束
ORA-01722: 無效數字:(一般可能是企圖將字串類型的值填入數字型而造成)
ORA-06530:  ACCESS_INTO_NULL 
      Your program attempts to assign values to the attributes of an uninitialized (atomically  null) object.
企圖將值寫入未初化對象的屬性

ORA-06592:  CASE_NOT_FOUND
     None of th  choice  in the WHEN clauses of a CASE statement is selected,  and there is no  ELSE clause.
case語句格式有誤,沒有分支語句

ORA-06531:  COLLECTION_IS_NULL
     Your program attempts to apply collection methods othe  than EXIST  to an uninitialized(atomically  null) nested table or varray, or th  program attempts to assign values to the elements of an  uninitialized nested table  or  varray.
企圖將集合填入未初始化的巢狀表格中

ORA-06511:  CURSOR_ALREADY_OPEN
     Your program attempts to open an already open cursor. A cursor must be closed before it can  be reopened.  A cursor FOR loop automatically opens the cursor to which it refers. So, your  program cannot open that cursor inside  the  loop.
企圖開啟已經開啟的指標.指標已經開啟,要再次開啟必須先關閉.

ORA-00001:  DUP_VAL_ON_INDEX
     Your program attempts to store duplicate values in a database column that is constrained by  a unique index.
資料庫欄位儲存重複,主鍵唯一值衝突

ORA-01001:  INVALID_CURSOR 無效指標
    Your program attempts an illegal cursor operation such as closing an unopened cursor.
非法指標操作,例如關閉未開啟的指標

ORA-01722:  INVALID_NUMBER 無效數字
     In a SQL statement, the conversion of a character string into a number fails because the  string does not represent a valid number. (In  procedural statements, VALUE_ERROR is raised.) This exception is also raised when the LIMIT-clause expression in a
bulk FETCH  statement does not evaluate to a positive number.
在sql語句中,字元數字類型轉換錯誤,無法將字串轉化成有效數字.此錯誤也可能因為在limit從句運算式中fetch語句無法對應指定數字

ORA-01017:  LOGIN_DENIED 拒絕訪問
     Your program attempts to log on to Oracle with an invalid username and/or password.
企圖用無效的使用者名稱或密碼登入oracle

ORA-01403:  NO_DATA_FOUND  無資料發現
     A SELECT INTO statement returns no rows, or your program references a deleted element in a  nested table  or an  uninitialized  element  in  an  index-by  table.  SQL  aggregate  functions  such  as  AVG  and  SUM  always  return  a value or a null.  So,
a SELECT INTO statement that calls an aggregate function  never  raises  NO_DATA_FOUND. The FETCH statement is  expected to return no rows eventually, so when that happens, no exception is raised.
  
ORA-01012:  NOT_LOGGED_ON   未登入
     Your program issues  a database call without being connected to Oracle.
程式發送資料庫命令,但未與oracle建立串連
  
ORA-06501:  PROGRAM_ERROR  程式錯誤
     PL/SQL  has  an  internal  problem.
pl/sql系統問題
  
ORA-06504:  ROWTYPE_MISMATCH  行類型不符
    The  host  cursor  variable  and  PL/SQL  cursor  variable  involved  in  an  assignment  have  incompatible  return  types. 
For example, when an open host cursor variable is passed to a stored  subprogram, the return types of the actual and formal parameters must be compatible. 
  
ORA-30625:  SELF_IS_NULL  
     Your  program  attempts  to  call  a  MEMBER  method  on  a  null  instance.  That  is,  the  built-in  parameter  SELF (which  is  always  the  first  parameter  passed  to  a  MEMBER  method)  is  null.
  
ORA-06500:  STORAGE_ERROR  儲存錯誤
     PL/SQL runs out of memory  or memory has been corrupted.
PL/SQL運行記憶體溢出或記憶體衝突
      
ORA-06533:  SUBSCRIPT_BEYOND_COUNT   子句超出數量
      Your program references a nested table or varray element using an index number larger than the number of elements in  the collection.
  
ORA-06532:  SUBSCRIPT_OUTSIDE_LIMIT   子句非法數量
Your program references a nested table or varray element using an index number (-1  for  example)  that  is outside  the  legal  range.
  
ORA-01410:  SYS_INVALID_ROWID   無效的欄位名
   The conversion  of  a  character  string  into  a  universal  rowid  fails  because  the  character  string  does  not represent  a  valid  rowid. 
  
ORA-00051:  TIMEOUT_ON_RESOURCE    資源等待逾時
A time-out occurs while Oracle is waiting for a resource. 
  
ORA-01422:  TOO_MANY_ROWS    返回超過一行
A SELECT INTO statement returns more  han one row.
  
ORA-06502:  VALUE_ERROR   值錯誤
An arithmetic, conversion, truncation, or size-constraint error occurs. For example, when  your program selects a column value into a character  variable, if the value is  longer  than  the  declared  length  of  the  variable, PL/SQL aborts the assignment
and raises VALUE_ERROR.  In procedural statements,  VALUE_ERROR  is raised if the conversion of a character string into a number fails.  (In SQL statements, INVALID_NUMBER is raised.) 
  
ORA-01476:  ZERO_DIVIDE  除0錯誤
Your program attempts to divide a number by zero.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.