总结,连接池的作用是1个以上的人调用数据库连接时不会因为其他人对数据库进行打开或关闭而影响其他人的连接
这个提示有时候你需要回收一下。给你几个可能性吧:
首先你做一个调试方法:
做一下异常处理try catch finally
然后解决方案:
1、把conn.close()关一下,或conn.dispose()就行了。
2、dr要记得随时关了。
3、最好的方法是:
修改web.config,sql连接语句,改成如何:就是修改连接池的数量:
512什么的。
<add key= "dns " value= "Initial Catalog=ClfilmData Source=(local)User ID = sa Password=renEnlist=truePooling=trueMax Pool Size=300Min Pool Size=0Connection Lifetime=300user id=sapacket size=1000
"/>
以往要设置数据库连接池,需要借助于第三方软件。但现在NetBeans所带的Tomcat 5.5.7及Sun Application Server 8均可以直接设置。下面谈谈如何在Tomcat 5.5.7下设置。1. 下载数据库的专用连接驱动,并将其复制到C:Program Filesetbeans-4.1entERPrise1jakarta-tomcat-5.5.7commonlib文件夹下面。
假设所用数据库是Sybase的Adaptive Server Anywhere,从Sybase官方站点下载JConnect-6_0,从中抽取出jconn3这个驱动,复制到上述文件夹下。
2. 启动Tomcat,在IE输入http://localhost:8084/admin/,以管理员身份登录管理。用户登录的方法可参考第5楼。点击Resources下的Data Sources,在右边Data Source Actions的下拉框中选Create New Data Source,按下表示范填写:
JNDI Name: sybase/poolDB /* 根据喜好填 */
Data Source URL: JDBC:sybase:Tds:<localhost>:<端口号>
/* 数据库的地址,此为jconn3的形式,端口号需查询确认,但一般都是固定的,除非自己更改 */
JDBC Driver Class: com.sybase.jdbc3.jdbc.SybDriver /* jconn3的驱动 */
User Name: dba/* 用户名,默认为dba */
Password: *** /* 密码,默认为sql */
Max. Active Connections: 4/* 最大活动连接数 */
Max. Ide Connections: 2 /* 最大空闲连接数 */
Max. Wait for Connecton: 5000 /* 等待连接的最大秒数 */
Validation Query: /* 验证字符串,可不填 */
按"Save",再按"Commit Changes",Tomcat在后台将此变化保存到server.XML文件中。"Commit Changes"是最容易忘记的,小心。
3. 以下均转入NetBeans环境中设置。在context.xml修改的内容:
<Context path="/Matrix">
<ResourceLink global="sybase/poolDB" name="sybase/poolDB" type="Javax.sql.DataSource"/>
</Context>
"/Matrix"为此Web应用的根地址,表现为http://localhost:8084/Matrix。
4. 在web.xml中加入:
<resource-ref>
<description>Sybase Database Connection Pool</description>
<res-ref-name>sybase/poolDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
5. 好了,可以使用连接池了。以下代码为在JSP文件中使用JSTL标签库的范例。
<sql:query var="queryresults" dataSource="sybase/poolDB">
SELECT * FROM customer
</sql:query>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)