java连接局域网内的SQL Server2005数据库

时间:2021-10-10 13:38:39
寒假,我们团队在做一个c/s系统,基于jee的.我是这个团队的负责人之一.
现在碰到一个问题:
我们想,在一台电脑上装一个web服务器,一个sql server2005,一个cvs源代码控制.
web服务器和cvs已经成功.现在的问题是团队不能访问sql server2005(已经打了sp2补丁),我们用的是
局域网,sql server2005 standard,系统是windows xp home.
这台电脑能连接到sql server 2005(驱动器用sqljdbc_1.2).但其余电脑不能.
局域网用的代码如下:
String db="CollegeStudentSystem";
String user="sa";
String password="xiaohuasuper";
String url="jdbc:sqlserver://192.168.68.19:1433;DatabaseName="+db+";User="+user+";password="+password;
try{
Connection con=DriverManager.getConnection(url);
System.out.println("connected succeed!");
}
catch(SQLException e){
e.printStackTrace();
}
192.168.68.19是这台电脑的ip.
出现的错误为:
com.microsoft.sqlserver.jdbc.SQLServerException: TDS 预登录响应不完整。目标服务器必须是 SQL Server 2000 或更高版本。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.Prelogin(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.zhuimeng.test.ZhuiMeng.main(ZhuiMeng.java:27)
网上搜了很久,不能得到有较的解决方法.
我有已下猜测:
1.sql server2005 standard是不是不支持外部防问?
2.客户端是否需要装什么东西?我认为客户端只要能正常运行java代码就行了.
时间很紧,希望csdn的高手们给予解答.

9 个解决方案

#1


你用telnet 到 192.168.68.19:1433 能用吗?
如果不能用,则是防火墙的问题,

如果能用,则在本地用企业管理器注册192.168.68.19,看能否管理
如果不能,依然是 192.168.68.19的问题

如果能,则是你本地JDBC驱动的问题了! 换最新的看看!

#2


sqljdbc_1.2 是哪个版本的驱动啊?

到这里下载最新的驱动吧! 
http://www.microsoft.com/downloads/details.aspx?FamilyID=E22BC83B-32FF-4474-A44A-22B6AE2C4E17&displaylang=zh-cn

#3


C:\Documents and Settings\Owner>telnet 192.168.68.19:1433
正在连接到192.168.68.19:1433...不能打开到主机的连接, 在端口 23: 连接失败

C:\Documents and Settings\Owner>telnet 192.168.68.19:1433
正在连接到192.168.68.19:1433...不能打开到主机的连接, 在端口 23: 连接失败

C:\Documents and Settings\Owner>telnet 192.168.68.19
正在连接到192.168.68.19...不能打开到主机的连接, 在端口 23: 连接失败

C:\Documents and Settings\Owner>

#4


这里还有些资料,希望对你有帮助
http://www.java2000.net/viewthread.jsp?tid=394

#5


最好不要用微软的驱动,不太稳定。

#6


别写错了,你看你还是登到23口上去,telnet 192.168.68.19 1433

#7


telnet 192.168.68.19 1433后出现一片黑应该是连接上了

#8


按照1楼的,继续测试啊!

在本地用企业管理器注册192.168.68.19,看能否管理 
如果不能,依然是   192.168.68.19的问题 

如果能,则是你本地JDBC驱动的问题了!   换最新的看看!

#9


问题已经解决,问题出在我的队友的2000没升级到sp4.现在工作环境是:
1.其中一台电脑的sql server 2000作为团队数据库服务器(防火墙必须关掉,用java程序可以连接上,2005可以连接到2000,但反过来不行).
2.tomcat作为web服务器,运行在另一台电脑上.
3.用cvsnt作为源代码控制器.
感谢java2000_net和回复者的帮助,出问题跑不开,http://www.java2000.net/viewthread.jsp?tid=394所分析的.

#1


你用telnet 到 192.168.68.19:1433 能用吗?
如果不能用,则是防火墙的问题,

如果能用,则在本地用企业管理器注册192.168.68.19,看能否管理
如果不能,依然是 192.168.68.19的问题

如果能,则是你本地JDBC驱动的问题了! 换最新的看看!

#2


sqljdbc_1.2 是哪个版本的驱动啊?

到这里下载最新的驱动吧! 
http://www.microsoft.com/downloads/details.aspx?FamilyID=E22BC83B-32FF-4474-A44A-22B6AE2C4E17&displaylang=zh-cn

#3


C:\Documents and Settings\Owner>telnet 192.168.68.19:1433
正在连接到192.168.68.19:1433...不能打开到主机的连接, 在端口 23: 连接失败

C:\Documents and Settings\Owner>telnet 192.168.68.19:1433
正在连接到192.168.68.19:1433...不能打开到主机的连接, 在端口 23: 连接失败

C:\Documents and Settings\Owner>telnet 192.168.68.19
正在连接到192.168.68.19...不能打开到主机的连接, 在端口 23: 连接失败

C:\Documents and Settings\Owner>

#4


这里还有些资料,希望对你有帮助
http://www.java2000.net/viewthread.jsp?tid=394

#5


最好不要用微软的驱动,不太稳定。

#6


别写错了,你看你还是登到23口上去,telnet 192.168.68.19 1433

#7


telnet 192.168.68.19 1433后出现一片黑应该是连接上了

#8


按照1楼的,继续测试啊!

在本地用企业管理器注册192.168.68.19,看能否管理 
如果不能,依然是   192.168.68.19的问题 

如果能,则是你本地JDBC驱动的问题了!   换最新的看看!

#9


问题已经解决,问题出在我的队友的2000没升级到sp4.现在工作环境是:
1.其中一台电脑的sql server 2000作为团队数据库服务器(防火墙必须关掉,用java程序可以连接上,2005可以连接到2000,但反过来不行).
2.tomcat作为web服务器,运行在另一台电脑上.
3.用cvsnt作为源代码控制器.
感谢java2000_net和回复者的帮助,出问题跑不开,http://www.java2000.net/viewthread.jsp?tid=394所分析的.