如何在MS SQL Server 2008 Express中使用MS JDBC驱动程序?

Sto*_*art 13 java sql-server jdbc

我的配置:

  • Windows XP SP3
  • JDBC 2005
  • MS SQL Server 2008 Express,通过端口1433上的tcp/ip公开
  • 类路径中的sqljdbc.jar

我试过了:

try {
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
    con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433/SQLEXPRESS2008;databaseName=Test;selectMethod=cursor", "sa", "");
}
catch (Exception e) {
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

但它总是抛出异常:

java.sql.SQLException: No suitable driver
Run Code Online (Sandbox Code Playgroud)

我也试过以下网址:

localhost:1433/SQLEXPRESS2008

localhost/SQLEXPRESS2008

localhost
Run Code Online (Sandbox Code Playgroud)

结果相同.有帮助吗?

Che*_*eso 29

您的网址错误.

我不知道你的意思是"JDBC 2005".当我查看微软网站时,我发现了一个名为Microsoft SQL Server JDBC Driver 2.0的东西. 你将需要那个 - 它包括许多修复和一些性能提升.[编辑:你可能会想要最新的驱动程序.截至2012年3月,Microsoft的最新JDBC驱动程序是JDBC 4.0]

查看发行说明.对于此驱动程序,您需要:

URL:  jdbc:sqlserver://server:port;DatabaseName=dbname
Class name: com.microsoft.sqlserver.jdbc.SQLServerDriver
Run Code Online (Sandbox Code Playgroud)

看来你的类名是正确的,但是URL错了.

Microsoft在初始发布JDBC驱动程序后更改了类名和URL.您使用的URL与Microsoft的原始JDBC驱动程序一起使用,一个MS称为"SQL Server 2000版本".但该驱动程序使用不同的类名.

对于所有后续驱动程序,URL已更改为我在此处的表单.

这是JDBC驱动程序的发行说明.

  • 是的,这个答案中的信息现在已经过时了.我建议开发人员去MS网站获取最新的驱动程序.另请阅读发行说明以验证类名和URL.此时它们没有变化,但检查是有意义的. (2认同)