日期:2014-05-20  浏览次数:20875 次

一个用jdbc连接sql server 2005发生异常的问题
这个数据库是win xp sp3下面的sql server 2005 express 版本。数据库的名称是 test,用户 sa,密码222

在myeclipse上加入了sqlserver 的驱动,是在ms的网站下载的1.2版本。

建立连接的代码如下
//-----------------------------------------
 Connection conn =null;
  String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
  Class.forName(driver);
  String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";
  String user="sa";
  String pass="222";
  conn=DriverManager.getConnection(url,user,pass);
  return conn;
//-------------------------------------------

当运行到 conn=DriverManager.getConnection(url,user,pass);出现异常

java.sql.SQLException: No suitable driver found for jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test
at java.sql.DriverManager.getConnection(DriverManager.java:602)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at tt.sqlserver(jdbcConn.java:96)
at tt.main(jdbcConn.java:16)

我试着换了几个版本的驱动也报这个错。问题可能出现在哪里?希望遇到过这个问题的高手可以给我一些提示


------解决方案--------------------
URL错了!
sql server 2005的URL和2000的不一样!
String url="jdbc:sqlserver://localhost:1433;DatabaseName=test;"
------解决方案--------------------

------解决方案--------------------
这个数据库是win xp sp3下面的sql server 2005 express 版本。数据库的名称是 test,用户 sa,密码222 

在myeclipse上加入了sqlserver 的驱动,是在ms的网站下载的1.2版本。 

建立连接的代码如下 
//----------------------------------------- 
Connection conn =null; 
String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"; 
Class.forName(driver); 
String url="jdbc:sqlserver://localhost:1433;DatabaseName=test;"; String user="sa"; 
String pass="222"; 
conn=DriverManager.getConnection(url,user,pass); 
return conn; 
//------------------------------------------- 

当运行到 conn=DriverManager.getConnection(url,user,pass);出现异常 

java.sql.SQLException: No suitable driver found for jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test 
at java.sql.DriverManager.getConnection(DriverManager.java:602) 
at java.sql.DriverManager.getConnection(DriverManager.java:185) 
at tt.sqlserver(jdbcConn.java:96) 
at tt.main(jdbcConn.java:16) 

我试着换了几个版本的驱动也报这个错。问题可能出现在哪里?希望遇到过这个问题的高手可以给我一些提示
------解决方案--------------------
好可能是你的数据库的权连接问题。

1 检查SQL SERVER 是否允许远程访问.具体步骤:

1)打开"企业管理器",打开控制台根目录>SQL Server 组>数据库
2)在相应"数据库"上单击右键,选择"属性"
3)选择"连接"选项卡,检查"远程服务器连接"下,RPC服务是否选择.

2 使用telnet IP地址 1433,系统是否提示连接出错,如系统提示出错
检查是否防火墙屏蔽了SQL SERVER 或 java IDE 的网络访问端口
如果是,关闭防火墙,重新启动SQL SERVER和java IDE,进行测试,
如果系统仍提示上述错误,尝试下列步骤

3 检查SQL SERVER 端口号及是否启用了TCP/IP协议,具体步骤:

1)打开"企业管理器",打开控制台根目录>SQL Server 组>数据库
2)在相应"数据库"上单击右键,选择"属性"
3)选择"常规"选项卡,点击"网络配置",如启用的协议中无"TCP/IP协议"将其加入
4)选择"TCP/IP协议",点击"属性",检查其端口号是否为1433
5)如端口号为1433将其修改为其它端口号,修改jdbc连接语句,将端口号同样改为新启用的端口号,如jdbc:microsoft:sqlserver://server_name:1400(假设新端口号为 1400)