日期:2014-05-17  浏览次数:20637 次

100分求救,同时有sql2000和2005的时候,jdbc如何才能连上2000而不是2005
我的javaweb程序,用jdbc想sqlserver2000,只能连上2005,却不知如何才能连上2000
我的机器上装有2000和2005,我用2000的查询分析器连接2个服务器的时候,输入的服务器的字串分别是:2000=JAVA6\SQL2000,2005=JAVA6,(我的机器名是JAVA6),而这样,我在JSP页面中使用的JDBC连接的URL是:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb.这样的话,我竟然就连上了2005的sql服务器,而我也不知道怎么样来改这个URL,才能让我连上2000的sql服务器,请各位帮忙

------解决方案--------------------
你发现你的sql2000的数据库在sql2005里也能看到没?

所以是向下兼容的~

推荐~你的jdbc要用2005的sqljdbc.jar包~

这样你页是向下兼容的~

不知道这样解释明白不?
------解决方案--------------------
在sql server 2000 中加载驱动和URL路径的语句是

String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=sample";

而sql server 2005 中加载驱动和url的语句则为

String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample"; 

如果写法错误将会找不到驱动

------解决方案--------------------
探讨
我明白楼上朋友的意思,而且我的JDBC包2005和2000的都有,但是毕竟还是2个数据库吧,访问其中某一个和访问另一个的连接URL应该是不一样的吧,可是我不知道该怎么拼这个URL字串才能访问到那个2000的服务

------解决方案--------------------
停掉 2005的服务,重启2000的服务就行了。

原因我不清楚,好像不只是端口的问题(也许吧)。

我一般2个实力能同时运行,但只能连其中一个。
------解决方案--------------------
呵呵,如果2000和2005都在运行的话,肯定端口是不同的。你看看在修改url吧。
------解决方案--------------------
但是他要同时使用两个好象不能关...
真的可以用2000的驱动连2005?
------解决方案--------------------
应该是端口的问题,至少其中的一个不是1433了.可能是sq2000
楼主可以打开你sql2000的企业管理器,右键你的服务->属性->网络配置(在下方)->选中右边的TCP/IP点属性,这样可以修改你sql2000的端口了.
楼主试试吧
------解决方案--------------------
楼上说得对,这两个服务是不可能同时都占用1433端口的,你需要修改其中一个服务的端口。
楼上告诉你如何修改2000的端口,你也可以修改MSSQL2005的端口,方式为:
开始->MSSQL2005->配置工具->SQL Server Configuration Manager
SQL Server 2005网络配置->XXXX的协议
双击右边TCP/IP
对话框中选IP地址选项卡中最后一个IP端口
此时,你的SQL的URL连接字符串中服务器后的1433要和这个数字对应
注:操作MSSQL最好用jtds驱动,微软提供的驱动在字符集上有问题
------解决方案--------------------
修改端口号~~
还有我想问下 用JAVA开发的时候 SQL2000有3个JAR包~
SQL2005好象是一个JAR包吧~~
结合一下 看看能用不
------解决方案--------------------
呵呵,
以前我做过,问题出在url , 因为时间相隔了一年多了,我也忘记了,
我没有具体的环境(一台机器上挂两个数据库实例)也就一会半会很难准确的一下给你答案.
好象就是// \\ 之间的区别,你可以自己试试.
url = "jdbc:sqlserver:\\localhost:1433; DatabaseName=sample"; 

我记得那个时候我在一家外企单位,美国的老总数据库升级.装了个sqlserver 2005 ,
旧的数据库又不敢删除掉,怕出什么问题.
结果就出现了你类似的问题,因为美国是白天,这边是晚上,老总等着向客户演示,结果急啊.弄得我一晚上都没睡,
最后还是终于解决了,问题就在url 上,你多试试吧.