无法通过Java桌面应用程序上的JDBC连接到Oracle DB

时间:2012-02-20 16:37:36

标签: java oracle jdbc database-connection

我试图创建一个非常简单的应用程序,在加载主窗口时,程序连接到数据库。

如果我评论连接到数据库的部分,它可以正常工作。该应用程序显示没有错误,抛出没有异常,所以我无法弄清楚什么是错的。我发布了我的代码:

public final class Database {
    private final String dbURL = "jdbc:oracle:thin:@" + dbHost + ":" + dbPort + ":" + dbService;
    private final String dbDriver = "oracle.jdbc.driver.OracleDriver";
    private Connection connection = null;

    public Database() {
        try {
            System.out.println("Aqui 1");
            Class.forName(dbDriver);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(Database.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    private void connect() {
        System.out.println("Dentro");
        try {
            connection = DriverManager.getConnection(dbURL, dbUser, dbPass);
        } catch (SQLException ex) {
            Logger.getLogger(Database.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    private void disconnect() {
        try {
            connection.close();
        } catch (SQLException ex) {
            Logger.getLogger(Database.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public void numeroErrores(String dependencia){
        System.out.println("Hola");
        connect();
        disconnect();
        System.out.print("Adios");
    }
}

将dbUser,dbPass,dbHost,dbPort,dbService设置为正确的值,我已经检查并重新检查它们,我也确定我已经添加了正确的oracle-jdbc jar文件。它有点挂起(我说有点'因为没有错误没有显示任何内容但是我放在那里的System.out.println)在调用connect()方法时。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

没有足够的调试打印或捕获语句
尝试捕获常规异常和Throwable,看看是否添加了数据
如果您没有调试器,请在每一行添加调试打印,以便准确了解您的位置 如果您有ojdbc6.jar,请尝试在DriverManager.getConnection之前添加此权限:

  

DriverManager.registerDriver(new oracle.jdbc.OracleDriver());

只是为了确保