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

标签 java sql-server jdbc

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

为什么会发生这种情况?

这是代码。

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 作为我的驱动程序,并将其添加到我的类路径中。

最佳答案

SQLException: No suitable driver found

此异常意味着用于获取连接的 JDBC URL 不受迄今为止加载的任何 JDBC 驱动程序支持。因此,此异常至少可能有三个可能的原因:

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

让我们看看您目前为止的情况:

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

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

您需要Microsoft SQL Server JDBC driver ,或者至少是jTDS JDBC driver ,这实际上是一个也支持 SQL Server 的第 3 方驱动程序,但据说比 Microsoft 自己的 JDBC 驱动程序要好得多。您可以在文档中找到需要指定哪个驱动程序类名来加载驱动程序。对于Microsoft一,如下:

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

关于java - 将 MS SQL 数据库连接到 Java 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7314210/

相关文章:

java - 如何在 JPanel 中为矩形设置动画?

mysql - SQL SERVER (TSQL) 逆 DateDiff 的 SUM(SQL 或存储过程)

mysql - 如何将MySQL表和记录导入MS-SQL?

java - Jersey @InjectParam 创建一个新对象而不是从 Spring 获取

Java动态内存分配(堆)

Java 从文本文件中读取(字符串和整数)

sql-server - 服务器升级后 Excel 宏上发生 SSL 安全错误

java - 枚举打开的 JDBC 连接?

java - 将Java连接到MySQL数据库

java - 使用 Spring 存储库保存时保留时区