jdbc连接 SQL SERVER 2000 的疑难问题(已经查看论坛中的所有帖子以后再发的)

wmlf 2009-06-02 03:09:24
本人有一个数据交换的程序JAVA写的。
局域网中同时有三台服务器
一台是 管理系统服务器 IP后两位为 10.1
一台是 评价器系统服务器 IP后两位为 10.11
一台是 考勤系统服务器 IP后两位为 10.16.
数据交换程序是将 10.11 和 10.16 的数据都交换到10.1上面去。
运行的很正常突然某天日志上发现异常

-------------------------------------------------
[错误]数据库连接失败,请检查网络是否通畅[ {1=jdbc:jtds:sqlserver://192.168.10.11:1433/ceping;user=sa;password=1234} ]
[错误]java.sql.SQLException: Network error IOException: Connection timed out: connect
net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:372)
net.sourceforge.jtds.jdbc.ConnectionJDBC3.<init>(ConnectionJDBC3.java:50)
net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:178)
java.sql.DriverManager.getConnection(DriverManager.java:525)
java.sql.DriverManager.getConnection(DriverManager.java:193)
com.tjsoft.sp.ifcs.db.DBFactory.createConnection(DBFactory.java:165)
com.tjsoft.sp.ifcs.swap.InterfaceSwapThread.keepRunning(InterfaceSwapThread.java:90)
com.tjsoft.sp.ifcs.swap.InterfaceSwapThread.run(InterfaceSwapThread.java:52)

[错误]由于jdbc驱动器加载失败或者不存在对应的数据库连接无法生成数据库执行模块,请检查数据库连接:{1=jdbc:jtds:sqlserver://192.168.91.11:1433/ceping;user=sa;password=1234}
------------------------------------------------------------------------------

然后我开始检查
1 在 10.1 的机器上 ping 192.168.10.11 连接正常
2 在 10.1 的机器上 telnet 192.168.10.11 1433 连接正常
3 在 10.1 的机器上 用查询分析器 和企业管理器 还有 数据源ODBC 测试连接都正常

这个时候开始怀疑是不是程序出了问题,我就临时将 10.11上数据库备份恢复到 10.16上,修改程序连接地址 OK 正常。
我现在已经想不出原因了。大家能帮忙想想吗?给一点点思路也行。
哦还有一个问题 10.11使用的是SQL SERVER 2000 评估版,以前到期了,我用网上提供的修改日期启动以后在修改回来日期的方式启动的服务。 貌似很早就过期了,以前都没有出现过问题。
...全文
124 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
wmlf 2009-06-05
  • 打赏
  • 举报
回复
虽然没有找到原因 但是根据 ashzs 的建议。
我将这个程序部署在了 10.11 上
一切问题都解决了。
谢谢所有人的帮助。
fcuandy 2009-06-02
  • 打赏
  • 举报
回复
不懂java
把程序布署 到其它机器上,然后连接sqlserver这台机的服务器看看有没有问题。
ashzs 2009-06-02
  • 打赏
  • 举报
回复

在执行下述步骤前,请将几台机器的防火墙和杀毒软件通通关闭。


1、可以把你的程序直接放在10.11上。不指定ip,而是使用localhost方式连接,看是否可以。

2、如果步骤1可以,说明程序的jdbc驱动应该没问题,而且sql server响应连接也没问题。你可以将10.11的sql server的端口从1433换到其它端口。然后在10.1上使用数据源ODBC测试(注意,服务器名称应该是10.11,新端口),如果通过,再使用jdbc测试。


3、 如果步骤2还是不行,可以在10.1上执行pathping 10.11,看经过的路线,对比 pathping 10.16有什么不一样的地方。

4、这几台服务器是否近些天打了补丁,可以在事件查看器中看一下。如果有,看一下补丁的说明。

5、几台服务器的网络是如何构成的?通过有路由功能的交换机还是简单的hub,如果是交换机,是否有人近期修改过设置。




wmlf 2009-06-02
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 perfectaction 的回复:]
不太清楚原因,好像是jdbc原因,可否重装下jdbc试试
[/Quote]

这个时候开始怀疑是不是程序出了问题,我就临时将 10.11上数据库备份恢复到 10.16上,修改程序连接地址 OK 正常。
程序和 JDBC 应该是都没有问题的。
nzperfect 2009-06-02
  • 打赏
  • 举报
回复
不太清楚原因,好像是jdbc原因,可否重装下jdbc试试
wmlf 2009-06-02
  • 打赏
  • 举报
回复
最近开始是一直连接不上
是的 从10.1上用查询分析器能连上10.11
nzperfect 2009-06-02
  • 打赏
  • 举报
回复
你的意思是偶尔连不上还是一直连不上?
从10.1上用查询分析器能连上10.11吗?
wmlf 2009-06-02
  • 打赏
  • 举报
回复
机器上没有安装防火墙 和杀毒软件

wmlf 2009-06-02
  • 打赏
  • 举报
回复
已经打过了

Microsoft SQL Server 2000 - 8.00.2039 (Intel X86) May 3 2005 23:18:38 Copyright (c) 1988-2003 Microsoft Corporation Enterprise Evaluation Edition on Windows NT 5.1 (Build 2600: Service Pack 2)
百年树人 2009-06-02
  • 打赏
  • 举报
回复
select @@version 看看是否打了SP4补丁
wmlf 2009-06-02
  • 打赏
  • 举报
回复
SQL SERVER 的服务是正常运行的 不然
3 在 10.1 的机器上 用查询分析器 和企业管理器 还有 数据源ODBC 测试连接都正常
这个也不可能连接上。
nzperfect 2009-06-02
  • 打赏
  • 举报
回复
可能又过期了?
wmlf 2009-06-02
  • 打赏
  • 举报
回复
[Quote=引用楼主 wmlf 的帖子:]
[错误]由于jdbc驱动器加载失败或者不存在对应的数据库连接无法生成数据库执行模块,请检查数据库连接:{1=jdbc:jtds:sqlserver://192.168.91.11:1433/ceping;user=sa;password=1234}
[/Quote]

更正一下
{1=jdbc:jtds:sqlserver://192.168.10.11:1433/ceping;user=sa;password=1234}

笔误

谢谢楼上帮忙了
百年树人 2009-06-02
  • 打赏
  • 举报
回复
:{1=jdbc:jtds:sqlserver://192.168.91.11:1433/ceping;user=sa;password=1234}


这个是什么服务器?
王向飞 2009-06-02
  • 打赏
  • 举报
回复
坐板凳等高手
wmlf 2009-06-02
  • 打赏
  • 举报
回复
由于要是重装这个10.11服务器的数据库牵扯实在太大, 大家帮忙想想还有别的什么可能

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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