将MS SQL数据库连接到Java程序

时间:2011-09-06 01:50:17

标签: java sql-server jdbc

我有一个试图连接到MS SQL数据库的JAVA类。现在,当我尝试连接到数据库时,我收到错误“找不到合适的驱动程序.....”

为什么会这样?

这是代码。

DB db = bew DB();
db.dbConnect();

...

class DB
{
    public void dbConnect() {
        try
        {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            String connectionUrl = "jdbc:sqlserver://web.address.com;" +
               "databaseName=testdb;user=user.name;password=*****;";

            Connection con = DriverManager.getConnection(connectionUrl);
        }
        catch (Exception e)
        {
            e.printStackTrace();                
        }
    }
}

我使用sqljdbc.jar作为我的驱动程序,并将其添加到我的类路径中。

1 个答案:

答案 0 :(得分:4)

  

SQLException:找不到合适的驱动程序

此异常表示到目前为止加载的任何JDBC驱动程序都不支持用于获取连接的JDBC URL。因此,此异常至少可能有三个原因:

  • 根本没有加载正确的驱动程序。
  • 加载驱动程序失败,异常被抑制,导致代码继续运行并尝试获取连接而不是中止。
  • JDBC URL是完全错误的。

让我们看看你到目前为止:

  • 您正在使用Microsoft SQL Server数据库。
  • 您已加载Sun JDBC-ODBC桥驱动程序。
  • 您正在使用特定于SQL Server JDBC驱动程序的JDBC URL,它看起来是正确的。

对,你加载了错误的JDBC驱动程序!

您需要Microsoft SQL Server JDBC driver,或者至少jTDS JDBC driver,它实际上是第三方驱动程序,它也支持SQL Server,但被告知要比Microsoft自己的JDBC驱动程序好得多。您可以在文档中找到需要指定的驱动程序类名称以加载驱动程序。对于Microsoft,它是以下内容:

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");