当前位置:首页 » 数据仓库 » tomcat连接数据库超时
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

tomcat连接数据库超时

发布时间: 2022-09-19 19:03:12

A. 在使用tomcat时数据库连接不上

出现这个是因为你的数据库没有连接上导致的,检查以下几个地方

1.你的db.properties文件是否配置正确 useUnicode=true&&characterEncoding=UTF-8表示你设置的编码为utf-8保证与数据库的一致 防止乱码

jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.jdbcUrl=jdbc:mysql://localhost:3306/oa?unicode=true&characterEncoding=utf-8
jdbc.user=root
jdbc.password=1112.检查你的spring/applicationContext-.xml是否配置了数据源,而且是否配置正确
<!--加载properties配置文件-->
<context:property-placeholderlocation="classpath:properties/dbinfo.properties"></context:property-placeholder>

3.你的连接名是否是正确的和你在db.properties中配置的是否一样

<!--加载properties配置文件-->
<beanid="dataSource"class="com.mchange.v2.c3p0.ComboPooledDataSource">
<propertyname="driverClass"value="${jdbc.driverClass}"></property>
<propertyname="jdbcUrl"value="${jdbc.jdbcUrl}"></property>
<propertyname="user"value="${jdbc.user}"></property>
<propertyname="password"value="${jdbc.password}"></property>
</bean>

4.你电脑中的服务是否打开

5.检查下的你数据库名是否存在,或者表是否存在

B. org.apache.tomcat.dbcp.dbcp.sqlnestedexception:无法得到一个连接池,等待空闲超时 我的程序报错了

是你连接数据库超时了 比如说你的是连接另一台电脑的数据库 正好碰到另外一台电脑的数据库服务没开 或者计算机没启动 就会出现连接超时 一般tomcat提示45秒

C. tomcat的服务器过十几个小时就连不到数据库,重启一下tomcat就好了,每次都要重启tomcat,是哪出问题

你的连接池是自己实现的吗
应该是连接池里的连接都没有了:
1 要么被销毁了
2 要么是你没释放连接,导致没有空闲连接,
所有得不到连接包空指针

要是用的tomcat自己的连接池,是不是配置有问题,重新仔细检查下,
再或许看看是不是tomcat的bug,重新换个tomcat试试

D. tomcat启动时间过长就无法连接数据库了,必须重启,但页面能正常访问,怎么解决

你的连接池是自己实现的吗
应该是连接池里的连接都没有了:
1 要么被销毁了
2 要么是你没释放连接,导致没有空闲连接,
所有得不到连接包空指针
要是用的tomcat自己的连接池,是不是配置有问题,重新仔细检查下,
再或许看看是不是tomcat的bug,重新换个tomcat试试

E. tomcat配置连接池当超时怎么在tomcat中配置重新连接数据库

这是我的tomcatde DHCP的配置
<Resource driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" logAbandoned="true" maxActive="20" maxIdle="2" maxWait="5000" name="system" password="sa" removeAbandoned="true" removeAbandonedTimeout="60" type="javax.sql.DataSource"
url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=base" username="sa"/>
当中的
logAbandoned="true" removeAbandoned="true" removeAbandonedTimeout="60"就是用来配置数据库断开后自动连接的。

F. 启动tomcat 超时问题

两种可能,一种是你配置有问题,但这种可能性小;另一种就是缺少了一个解码文件,在classpath中将三个.jar文件加入,本别是:
C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\msbase.jar
C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\mssqlserver.jar
C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\msutil.jar
而后在创建一个JSP页面写如下代码进行测试:
<%@ page import="java.lang.*, java.io.*, java.sql.*, java.util.*" contentType="text/html;charset=gb2312" %>
<html>
<body>
?<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Test"; //Test是数据库的名称
String user="sa";
String password="";
Connection conn=DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement();
int id=1;
String name="aa";
String passwordd="aa";
String sql=sql = "insert into testTable values (" //testTable是数据库Test中的一个表,
//表中有三个字段,id,name,password
+ id
+ ",'"
+ name
+ "','"
+ passwordd
+ "')";
stmt.executeUpdate(sql);
%>
<%out.print("数据库操作成功");%>
<%
stmt.close();
conn.close();
?%>
</body>
</html>

G. tomcat配置连接池当超时怎么在tomcat中配置重新连接数据库

给你一段代码,看看对你有没有帮助:
这是我的tomcatde DHCP的配置
<Resource driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" logAbandoned="true" maxActive="20" maxIdle="2" maxWait="5000" name="system" password="sa" removeAbandoned="true" removeAbandonedTimeout="60" type="javax.sql.DataSource"
url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=base" username="sa"/>
当中的
logAbandoned="true" removeAbandoned="true" removeAbandonedTimeout="60"就是用来配置数据库断开后自动连接的。

H. sql 数据库连接超时

原因分析:
查询超时一般来说首先要从sql语句和数据表的结构上找原因,优化sql语句和为数据库的查询字段建索引是最常用的办法。
另外,数据库的查询超时设置一般是sqlserver自己维护的(在你没有修改query wait配置前),只有当你的实际查询时间超过估计查询时间的25倍时,才会超时。
而造成超出估计值那么多的原因有两种可能:
一是估计时间不准确;
二是sql语句涉及到大量占用内存的查询(如排序和哈希操作),内存不够,需要排队等待资源造成的。
解决办法:
A.优化语句,创建/使用合适的索引;
B.解决第一个问题的方法,更新要查询表的索引分发统计,保证估计时间的正确性,UPDATE STATISTICS 表名;
C.增加内存
如果想手动设置查询超时,可以使用以下语句:
sp_configure 'show advanced options', 1 GO RECONFIGURE GO sp_configure 'query wait', 2147483647 GO RECONFIGURE GO

I. tomcat 数据库连接池 查询过于频繁时导致 数据库连接失败!

数据库连接池的连接被用光了,自然就不能连接了
可以加大最大连接数,还就没了连接用完了要及时关闭,以免占着坑不拉屎,
想那些sql语句复杂的最好简化以减少查询的时间,寻找别的解决方法