import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.SQLException;
public class JdbcSQLServerConnection {
public static void main(String[] args) throws ClassNotFoundException {
Connection conn = null;
try {
String url = "jdbc:sqlserver://microsoft\\SQLEXPRESS;databaseName=crud";
String userName = "sa";
String password = "pwd";
System.out.println("Connected2");
Class.forName("com.sqlserver.jdbc.SQLServerDriver");
conn = DriverManager.getConnection(url, userName, password);
System.out.println("Connected");
if (conn != null) {
DatabaseMetaData dm = (DatabaseMetaData) conn.getMetaData();
System.out.println("Driver name: " + dm.getDriverName());
System.out.println("Driver version: " + dm.getDriverVersion());
System.out.println("Product name: " + dm.getDatabaseProductName());
System.out.println("Product version: " + dm.getDatabaseProductVersion());
}
} catch (SQLException ex) {
ex.printStackTrace();
} finally {
try {
if (conn != null && !conn.isClosed()) {
conn.close();
}
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
}
输出: -
Connected2 Exception in thread "main"
java.lang.ClassNotFoundException: com.sqlserver.jdbc.SQLServerDriver
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at JdbcSQLServerConnection.main(JdbcSQLServerConnection.java:28)
我已经在eclipse库中包含了sqljdbc4.jar但是它仍然无法在我的系统上工作,请在此解决方案中输入代码帮助我 .
1 回答
显然,找不到您尝试加载的类(
com.sqlserver.jdbc.SQLServerDriver
) .根据Microsoft Docs "Using the JDBC Driver",您必须通过调用
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
来加载JDBC驱动程序 - 请注意com
和sqlserver
之间的microsoft
如果这没有帮助,您可能想要
编译代码并在命令行上运行它,手动将JDBC驱动程序JAR添加到类路径(
-cp
)以消除Eclipse中的任何陷阱 .将
sqljdbc4.jar
重命名为sqljdbc4.zip
,解压缩并检查您尝试加载的类是否确实存在于那里...