我正在发现JDBC没有合适的驱动程序:微软:SQLSERVER异常,当我注释掉第一行。没有合适的驱动程序SQLSERVER例外无的Class.forName()
我使用JDBC 4.1和https://stackoverflow.com/a/8053125/1379734解释Class.forName()
方法是没有必要的。我的代码有什么问题?
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = java.sql.DriverManager.getConnection(getConnectionUrl(), userName, password);
那你不使用JDBC4兼容的驱动程序(或者至少是不遵守它应该做的)。事实上,您拥有JDBC 4.x附带的JDK并不意味着您拥有的驱动程序会自动使用适用于JDBC 4.x的驱动程序。您也必须使用正确的驱动程序。 –
听起来您正在使用无效的URL或非常旧的驱动程序,SQL Server的正确JDBC URL以'jdbc:sqlserver:'而不是'jdbc:microsoft:sqlserver'开头。另请参阅https://docs.microsoft.com/en-us/sql/connect/jdbc/building-the-connection-url –
您使用的是什么版本的sql驱动程序?一个兼容的版本应该有一个META-INF \ services \ java.sql.Driver文件。 –