求助,java连接oracle数据库问题

问题描述

我用单例模拟了一个数据库连接,里面就一个数据库连接,页面刷新,或者查询,数据库就会增加session,一直刷新,不出1分钟,session就满了。有大神遇到过这样的问题吗?publicclassUtil{privatestaticjava.sql.Connectionconn=null;privateUtil(){};static{try{Class.forName("oracle.jdbc.driver.OracleDriver");conn=java.sql.DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:web","webapp","webapp");}catch(ClassNotFoundExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}catch(SQLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}}java.sql.Connectionconn=SpringUtil.getConn();java.sql.Statementstm;try{stm=conn.createStatement();java.sql.ResultSetrs=stm.executeQuery("select1fromdual");rs.close();stm.close();}catch(SQLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}这个连接一直连着数据库,按我的理解,我查询,使用这个连接,数据库应该不会增加session,不知道是什么原因,是不是程序错了,还是说数据库要配置什么,求大神指点迷津。。

解决方案

解决方案二:
少复制了一个方法publicstaticjava.sql.ConnectiongetConn(){returnconn;}
解决方案三:

解决方案四:
static{try{Class.forName("oracle.jdbc.driver.OracleDriver");conn=java.sql.DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:web","webapp","webapp");}catch(ClassNotFoundExceptione){e.printStackTrace();}catch(SQLExceptione){e.printStackTrace();}//把获取Connection封装到方法里publicConnectiongetConn(){returnconn;}加上这个就OK了
解决方案五:
比较关键的一点,连接未在finally块进行释放。
解决方案六:
感觉你这代码有点乱java.sql.Connectionconn=SpringUtil.getConn();java.sql.Statementstm;try{stm=conn.createStatement();java.sql.ResultSetrs=stm.executeQuery("select1fromdual");rs.close();stm.close();}catch(SQLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}这段是你调用connection来操作数据库的代码吧。你这数据库链接是从SpringUtil.getConn()这里来的。不是从你上面写的Util类获取的,那和你上面util类单例不单例有毛线关系?出现报错,应该是你这段调用代码没有关闭connection,导致数据库链接被用完了。你再请求链接就请求不到,所以就报错了。
解决方案七:
连接对象使用单例是想做什么?只有一个连接的连接池?
解决方案八:
conn记得要关闭来释放session,session是有限制的,配的再多要是不释放也会被用完

时间: 2024-08-07 02:21:41

求助,java连接oracle数据库问题的相关文章

Java连接Oracle数据库简单实例

       数据库的操作是当前系统开发必不可少的开发部分之一,尤其是在现在的大数据时代,数据库尤为重要.但是你真的懂得Java与数据库是怎么连接的么?        先给大家一个数据库连接的简单实例: package com.java.dbtest; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; im

java连接Oracle数据库的方法解析_java

Oracle数据库先创建一个表和添加一些数据 1.先在Oracle数据库中创建一个student表: create table student ( id number(11) not null primary key, stu_name varchar(16) not null, gender number(11) default null, age number(11) default null, address varchar(128) default null ); 2.向表中增添一些数据

Java连接Oracle数据库实例解析_java

数据库的操作是当前系统开发必不可少的开发部分之一,尤其是在现在的大数据时代,数据库尤为重要.但是你真的懂得Java与数据库是怎么连接的么? 先给大家一个数据库连接的简单实例: package com.java.dbtest; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.

实例代码讲解Java连接Oracle数据库的各种方法

oracle|数据|数据库 java与oracle的接口: 在数据库中运行JAVA可以说是ORACLE8i的最令人激动的新特性.在你创建的使用ORACLE8i 数据库的应用程序中,你可以使用与JAVA有关的新特征,轻松的将程序发布到INTERNET或INTRANET上. Methods for Using Java in ORACLE 大家都知道JAVA在跨平台开发与INTERNET开发中已经比较流行,ORACLE8i及以后的版本中都包含了对在数据库中运行JAVA的扩展支持,这里有两种方法可以使

java连接oracle数据库的方法

java与oracle的接口: 在数据库中运行JAVA可以说是ORACLE8i的最令人激动的新特性.在你创建的使用ORACLE8i 数据库的应用程序中,你可以使用与JAVA有关的新特征,轻松的将程序发布到INTERNET或INTRANET上. Methods for Using Java in ORACLE 大家都知道JAVA在跨平台开发与INTERNET开发中已经比较流行,ORACLE8i及以后的版本中都包含了对在数据库中运行JAVA的扩展支持,这里有两种方法可以使用: JDBC:与ODBC类

java连接oracle数据库报的一个错误

问题描述 java.sql.SQLException:Io异常:Connectionrefused(DESCRIPTION=(ERR=1153)(VSNNUM=169870336)(ERROR_STACK=(ERROR=(CODE=1153)(EMFI=4)(ARGS='(ADDRESS=(PROTOCOL=TCP)(HOST=calldb2_vip)(PORT=1521))'))(ERROR=(CODE=305)(EMFI=1))))atoracle.jdbc.dbaccess.DBError

急求指导!java连接oracle数据库自主插入数据问题

问题描述 我是想用java连结oracle,在eclipse中执行程序,实现用户自主插入数据.代码如下:packageorg.lxh.execdemo;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.Statement;publicclassInsertDemo{//在classpath中配置的jdbc的jar的包publicstaticfinalStringDBDRIVER="oracle.jdbc.d

java连接Oracle数据库的工具类_java

一个封装好的链接Oracle数据库的工具类,可以方便的获取Connection对象关闭Statement.ResultSet.Statment对象等等 复制代码 代码如下: package myUtil; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLExcepti

java连接Oracle数据库

oracle|数据|数据库 import java.net.URL;import java.sql.*; public class JavaOracle { public JavaOracle() { }public static void main(String[] args){ try { try{ Class.forName("oracle.jdbc.driver.OracleDriver"); } catch(java.lang.ClassNotFoundException e