2008-09-25 105 views
1

我最近更改了一個應用程序,用於將數據庫用戶名和密碼存儲在配置文件中(gasp以明文形式存儲在配置文件中)。什麼是JConnect錯誤代碼列表?

應用程序現在要求用戶輸入她的用戶名和密碼,然後才能繼續。

應用程序的新版本現在有詢問SQLException,以確定是什麼原因造成的異常(無效的用戶名或密碼,數據庫服務器無法訪問,連接超時等) ,以便它可以決定下一步做什麼(提示用戶更正用戶名和密碼,告知用戶稍後再次嘗試網絡問題進行排序,不可見地重新連接等)。

試圖找到SQLException ErrorCode的(SQLException.getErrorCode()),涉及到這些(及其他)導致已經接近不可能的,我們已經被迫猜測(這有時可能是危險的)。

Java API文檔說這是供應商特定的。

是否有人可以通過Sybase JConnect JDBC drivers設置錯誤代碼?

  • JRE 1.5
  • jConnect for JDBC 2.0 (spec version 5.2)
  • Sybase IQ 12.7

回答

1

看來,在抓的SQLException大部分ErrorCode的是0

這意味着你必須檢查Connection/Statement/ResultSet的SQLWarnings

connection.getWarnings(); 

或鏈接到拋出的異常

sqlException.getNextException(); 

這裏的棘手的事情是鏈接的例外可能是SQLExceptionIOException可能還有其他人(不記得別人跨越推出)例外。