JConnect错误代码列表是什么?

时间:2008-09-25 12:48:01

标签: java jdbc sybase error-code jconnect

我最近更改了一个应用程序,将数据库用户名和密码存储在配置文件中( gasp 密码以明文形式存储在配置文件中)。

应用程序现在要求用户输入用户名和密码,然后才能继续。

现在,新版本的应用程序必须询问SQLException以确定导致异常的原因(无效的用户名或密码,数据库服务器无法访问,连接超时等) 以便它可以决定下一步该做什么(提示用户更正用户名和密码,告诉用户稍后在网络问题排序后重试,重新连接不可靠等等。)

试图找到与这些(和其他)原因相关的SQLException errorCodes(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 个答案:

答案 0 :(得分:1)

似乎捕获的SQLException中的大多数errorCodes都是0。

这意味着您必须查看Connection / Statement / ResultSet的SQLWarnings

connection.getWarnings();

或链接到抛出异常的异常

sqlException.getNextException();

这里棘手的问题是,链式异常可能是SQLExceptionIOException,也可能是其他人(不记得遇到其他异常)。