當前位置:首頁 » 數據倉庫 » 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語句復雜的最好簡化以減少查詢的時間,尋找別的解決方法