Java检测Oracle数据库关闭错误代码

时间:2014-05-13 12:35:15

标签: java oracle sqlexception error-code

我想检测Oracle数据库何时关闭。以下错误代码取自http://docs.oracle.com/cd/E23943_01/apirefs.1111/e13952/pagehelp/JDBCjdbcdatasourcesjdbcdatasourceconfigconnectionpooltitle.html

■ 3113:"通信频道上的文件结束"

■ 3114:"未连接到ORACLE"

■ 1033:"正在进行ORACLE初始化或关闭"

■ 1034:" ORACLE不可用"

■ 1089:"正在进行中的关机 - 不允许任何操作"

■ 1090:"正在关机 - 不允许连接"

■ 17002:" I / O异常"

我希望在Oracle数据库关闭时不使用Glassfish服务器而不使用DataSource资源注入进行检测。以下是示例代码:

public class Database {
    public static void main(String[] args) {
         try {
             Connection connection = DriverManager.getConnection("url", "username", "password");
             Statement statement = connection.createStatement();
             ResultSet resultSet = statement.executeQuery(new String("SELECT name FROM NAMES");
         }
         catch(SQLException e) {
             // use the error code defined above to detect database is down
         }
    }
 }

由于这是一个独立的应用程序,可以使用这些错误代码吗?它们是否可以使用,或者是否有其他错误代码适用于独立应用程序?

1 个答案:

答案 0 :(得分:0)

这些代码与JDBC驱动程序相关(并由其返回),无论何处部署JDBC驱动程序(无论是独立应用程序还是应用程序服务器),都应该可以正常工作。