Database 本地计算机上的数据库连接

Database 本地计算机上的数据库连接,database,jdbc,jboss,Database,Jdbc,Jboss,我最初在安装了Apache的服务器上编写代码,并使用此函数连接到数据库 public Connection getDBConnection() { java.sql.Connection conn=null; //synchrnized(this) try { DriverManager.registerDriver(new OracleDriver()); conn = DriverManager.getConnection("jdbc:orac

我最初在安装了Apache的服务器上编写代码,并使用此函数连接到数据库

public Connection getDBConnection()
{
java.sql.Connection conn=null;
//synchrnized(this)
    try
    {
        DriverManager.registerDriver(new OracleDriver());
        conn = DriverManager.getConnection("jdbc:oracle:thin:@dukeorrac01:1521:ORDB1","nrsc","nrsc");

    }
    catch (Exception e)
    {
        e.printStackTrace();
    }

    return conn;        
}
也许这不是最好的方法,但它奏效了。然而,我已经开始在我的本地机器上进行编码,我得到了jboss作为IDE来使用。我已经让一切正常(排序),除了,它似乎是连接到一个不同的数据库。我得到了累坏的结果集(这是不对的)。我“认为”getConnection(“jdbc:oracle….”)是建立到实际数据库的连接的原因

为什么这在我的本地机器上不起作用,而在远程服务器上却工作得很好

另外,我不熟悉数据库/服务器配置。所以,不要假设我知道设置数据库或服务器的某些步骤。另外,我不是最初创建的。这是给我使用的


谢谢

该错误似乎表明您没有正确关闭结果集。在下面的示例中,请查看执行语句后如何关闭
finally
块中的这些资源

W.r.t您以前没有看到此错误的原因可能是因为您的服务器可能有大量资源,而您的本地计算机资源有限,并且您的默认设置没有修改以反映应用程序的需要

一般来说,最好做一些基本的内部管理,比如关闭所有打开的结果集和语句,不管您的数据库上是否分配了足够的资源

public void getDBConnection() {
    Connection conn = null;
    Statement statement = null;
    ResultSet rs = null;

    try {
        connection  = DriverManager.getConnection("jdbc:oracle:thin:@dukeorrac01:1521:ORDB1","nrsc","nrsc");
        statment = connection.createStatement();
        statement.setFetchSize(Integer.MIN_VALUE);

        // Do more stuff, iterate to ResultSet etc...
    } catch (SQLException ex) {
        // Exception handling stuff
        ...
    } finally {
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) { /* ignored */}
        }
        if (statment != null) {
            try {
                statment.close();
            } catch (SQLException e) { /* ignored */}
        }
        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) { /* ignored */}
        }
    }
}

该错误似乎表明您没有正确关闭结果集。在下面的示例中,请查看执行语句后,您必须如何在
finally
块中关闭这些资源

W.r.t您以前没有看到此错误的原因可能是因为您的服务器可能有大量资源,而您的本地计算机资源有限,并且您的默认设置没有修改以反映应用程序的需要

一般来说,最好做一些基本的内部管理,比如关闭所有打开的结果集和语句,不管您的数据库上是否分配了足够的资源

public void getDBConnection() {
    Connection conn = null;
    Statement statement = null;
    ResultSet rs = null;

    try {
        connection  = DriverManager.getConnection("jdbc:oracle:thin:@dukeorrac01:1521:ORDB1","nrsc","nrsc");
        statment = connection.createStatement();
        statement.setFetchSize(Integer.MIN_VALUE);

        // Do more stuff, iterate to ResultSet etc...
    } catch (SQLException ex) {
        // Exception handling stuff
        ...
    } finally {
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) { /* ignored */}
        }
        if (statment != null) {
            try {
                statment.close();
            } catch (SQLException e) { /* ignored */}
        }
        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) { /* ignored */}
        }
    }
}