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,但事实并非如此 在我的系统上工作,请在此解决方案中帮助我。在此处输入代码。
答案 0 :(得分:3)
显然找不到您尝试加载的类(com.sqlserver.jdbc.SQLServerDriver
)。
根据Microsoft Docs "Using the JDBC Driver",您必须通过调用Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
来加载JDBC驱动程序-注意microsoft
和com
之间的sqlserver
如果这没有帮助,您可能想要
编译代码并在命令行上运行,将JDBC驱动程序JAR手动添加到类路径(-cp
)中,以消除Eclipse中的任何陷阱。
将sqljdbc4.jar
重命名为sqljdbc4.zip
,解压缩并检查您尝试加载的类是否确实存在于其中...