JSP程序问题,TOMCAT自动运行一段时间,就当机.必须得重启计算机才好,请高手指点!

来源:百度知道 编辑:UC知道 时间:2024/05/31 03:57:38
报错代码如下,请高手指点啊...

2007-12-25 19:57:46 StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at org.apache.jsp.agent

这样的错误是你用jdbc连接sqlserver数据库,但是数据库的1433 socket端口没有开启,用 netstat -an 如果没有显示 0.0.0.0:1433 。
此问题出现在xp及以上windows操作系统。可以是微软官方网站。
解决办法,打sql补丁sp3后重启。netstat -an 显示 0.0.0.0:1433
如果还不行,
请用sql的“服务器网络实用工具”查看数据库的tcp/ip端口,将这个端口号取代下面串内的“端口号”即可
url="jdbc:microsoft:sqlserver://localhost:端口号;DatabaseName=yourdbname";
monkey_syf 也很可能,检查你有没有代码在循环中进行Connection连接而没有进行释放,那肯定死定了

这个问题也有遇到过的,首先确保所有连接数据库源使用完后关闭,如conn.clse();

是不是直接用jsp在代码中连接数据库的,要用“连接池”(Connectiong pool)去连接数据库。

如果犯了上面的两种情况错误,那就会运行一段时间后,网站就会挂掉,如果是20个同时在线网站立刻挂掉!

2007-12-25 19:57:46 StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket
无法建立链接 换个驱动试试

检查你的代码,在获得数据库连接后,有没有释放连接,如果不释放,在程序运行一段时间后,连接数就越来越多,最后达到了数据库连接数的最大值,然后程序就连不到数据库,就表现为服务器当机.你试下不重新启动电脑,就重新启动tomcat看看是否能用

请安装SQL SP3 或SP4补丁,然后再试试。
还有TOMCAT5.X应该是配JDK1.5!!

打补丁 或者 检查是