Java.sql.SQLException:侦听器拒绝连接,出现以下错误:ORA-12518执行60多次选择时
我在用java创建项目时遇到了一个问题,我正在连接oracle上的本地数据库,这就是我连接数据库的方式Java.sql.SQLException:侦听器拒绝连接,出现以下错误:ORA-12518执行60多次选择时,java,oracle,Java,Oracle,我在用java创建项目时遇到了一个问题,我正在连接oracle上的本地数据库,这就是我连接数据库的方式 conexion = "jdbc:oracle:thin:@localhost:1521:XE"; this.usuario = "System"; this.password = "hereThePassword"; Class.forName( "oracle.jdbc.driver.OracleDriver" ); conn = java.sql.DriverManager.getCo
conexion = "jdbc:oracle:thin:@localhost:1521:XE";
this.usuario = "System";
this.password = "hereThePassword";
Class.forName( "oracle.jdbc.driver.OracleDriver" );
conn = java.sql.DriverManager.getConnection(conexion,usuario,password);
这就是我在DB上执行查询的方式
ejecutarConsulta(String sql){
Class.forName( "oracle.jdbc.driver.OracleDriver" );
conn = java.sql.DriverManager.getConnection(conexion,usuario,password);
stmt = conn.createStatement();
rs = stmt.executeQuery( sql );
}
我需要在一个循环中执行200多个select(for),代码如下:
conexionBD BD = new conexionBD();
for(int i = 0; i < 500;i++){
BD.ejecutarConsulta("select * from table");
System.out.println(i);
}
如何使用同一对象BD执行200多个查询?由于问题下面的注释,我发现了错误 我正在创建一个新连接以执行单个选择,因此我更改代码如下: 创建连接:
Class.forName( "oracle.jdbc.driver.OracleDriver" );
conn = java.sql.DriverManager.getConnection(conexion,usuario,password);
stmt = this.conn.createStatement();
以及执行单个查询:
ejecutarConsulta(String sql){
System.out.println( sql );
rs = this.stmt.executeQuery( sql );
}
重新使用您的连接,不要为每个请求打开新的连接!(并且Class.forName技巧只需要在启动时,在创建第一个连接之前执行一次。)似乎您正在为每个查询创建一个新连接,使用相同的连接执行查询,这是正确的!在执行新查询时,我正在创建一个新连接,非常感谢。
ejecutarConsulta(String sql){
System.out.println( sql );
rs = this.stmt.executeQuery( sql );
}