我有一个 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/