急!访问页面时报错,MySQL服务也终止了

Lings 2008-08-02 06:32:31
奇怪啊,我用连接池配置的数据库,访问其他页面都没问题,然后有个页面是用SQL语句访问数据库中的一个视图的,SQL语句没问题,我在数据库中运行过,
但是浏览该页面时,就报错,MySQL也强行终止了,具体的错误信息如下:

com.mysql.jdbc.CommunicationsException: Communications link failure

Last packet sent to the server was 13000 ms ago.
******

Caused by: java.net.SocketException: Connection reset
******

java.sql.SQLException: Already closed.
******


这是我数据库连接池的配置:

<Resource name="jdbc/drp" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="5000"
username="root" password="1234" driverClassName="org.gjt.mm.mysql.Driver"
url="jdbc:mysql://localhost:3306/drp"/>

实在想不通哪里有问题,其他页面都没问题,唯一一点是别的页面是直接访问数据表,这个是访问视图,但是我用相同的sql语句在数据库中直接运行也没问题啊,网上说好像是超时造成的,但是该改的都改了,还是出问题。

希望大家能帮我看看问题出在哪里? 谢谢了!
...全文
84 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lings 2008-08-18
  • 打赏
  • 举报
回复
估计是数据库的问题,maxWait我都改过,就是不行。
改成多表连接就没问题了,还好视图用的不多。。
谢谢各位。。。散分了。。。
youjianbo_han_87 2008-08-04
  • 打赏
  • 举报
回复
maxWait="5000" 如果是超时自动关闭连接,把这个值改大点
maxel 2008-08-03
  • 打赏
  • 举报
回复
驱动没有关系吧,两个驱动都无所谓的啊,是不是SQL语句的问题,把代码贴上来看看,或者你在连接的时候打个信息,然后一步步跟踪看看到底执行到哪出问题了
zhj92lxs 2008-08-03
  • 打赏
  • 举报
回复
诡异,maik一下
胡矣 2008-08-03
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 kmmqq 的回复:]
新发现,我刚刚做试验,以前是对视图操作,我这次把SQL语句改了,没有用视图,直接用多表连接,发现竟然不出问题了,怪异啊

这是以前创建视图的SQL:
create view v_aim_client(id, name, level_id, level_name) as
select a.client_id as id, a.name, a.client_level as type_id, b.name as type_name from t_client a, t_data_dict b where a.client_level=b.id
union
select a.temi_id as id, a.name, a.temi_l…
[/Quote]
还真怪异
只对视图出现问题
而且第一次不出问题
...
Lings 2008-08-03
  • 打赏
  • 举报
回复
新发现,我刚刚做试验,以前是对视图操作,我这次把SQL语句改了,没有用视图,直接用多表连接,发现竟然不出问题了,怪异啊

这是以前创建视图的SQL:
create view v_aim_client(id, name, level_id, level_name) as
select a.client_id as id, a.name, a.client_level as type_id, b.name as type_name from t_client a, t_data_dict b where a.client_level=b.id
union
select a.temi_id as id, a.name, a.temi_lelve as type_id, b.name as type_name from t_temi_client a, t_data_dict b where a.temi_lelve=b.id
;

然后DAO中访问的SQL:
select id, name, level_id, level_name from v_aim_client order by id
第一次访问不出问题,第二次访问就让MySQL服务终止了,连接我每次都及时关闭了,而且单单上面的SQL语句我拿到命令行去执行也没问题。

我把查询改为多表连接后的DAO中的SQL为:
select id, name, level_id, level_name from (
select a.client_id as id, a.name, a.client_level as level_id, b.name as level_name from t_client a, t_data_dict b where a.client_level=b.id
union
select a.temi_id as id, a.name, a.temi_lelve as level_id, b.name as level_name from t_temi_client a, t_data_dict b where a.temi_lelve=b.id
) as v_aim_client order by id

这个时候就不出问题了。。。。。郁闷呀。。。哪位大哥能帮我解析一下啊???
我个人认为光SQL上功能是一样的,会不会访问视图的时候MySQL的处理不一样啊?还是其他方面的问题, 等待解答中。。。。
Lings 2008-08-03
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 maxel 的回复:]
驱动没有关系吧,两个驱动都无所谓的啊,是不是SQL语句的问题,把代码贴上来看看,或者你在连接的时候打个信息,然后一步步跟踪看看到底执行到哪出问题了
[/Quote]
SQL语句没有问题,我将SQL语句在送入数据库执行之前打印出来了,然后拿到命令行去执行,没问题的。

另外还有一点我忘了说,就是我第一次访问那个页面的时候不会出现问题,第二次访问的时候,MySQL服务就终止了,我检查过,每次访问完以后连接都正常关闭了,真不知道,问题出哪了?

这些就是错误信息:可是照网上的方法试过,还是没用

com.mysql.jdbc.CommunicationsException: Communications link failure

Last packet sent to the server was 13000 ms ago.
******

Caused by: java.net.SocketException: Connection reset
******

java.sql.SQLException: Already closed.
******


痛苦啊。。。
老紫竹 2008-08-03
  • 打赏
  • 举报
回复
mySQL掉了?

我怀疑你的MySQL 不是稳定版。
Lings 2008-08-02
  • 打赏
  • 举报
回复
驱动我也换过了
MySQL 的JDBC驱动 5.1.0 和 5.0.7 我都试过了,问题依旧,真不知道是哪里出问题了。。。

等候中。。。
zhkchi 2008-08-02
  • 打赏
  • 举报
回复
差了一下mysql官方网站,好像是驱动的bug.你试试另外的看看
zhkchi 2008-08-02
  • 打赏
  • 举报
回复
楼上别胡说.mysql是可以使用这个驱动的.

qlrhoo 2008-08-02
  • 打赏
  • 举报
回复
driverClassName="org.gjt.mm.mysql.Driver"
这的问题,把它改成:com.mysql.jdbc.Driver
Lings 2008-08-02
  • 打赏
  • 举报
回复
这么没人回复啊。。。。?等了老半天等个马甲来。。。

各位大哥大姐,帮帮我啊。。。

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧