我正在测试与数据库的连接。我无法正确编译。我已经通过IntellijIDE将SQLJDBC4.JAR添加到了类Path(也许是错误地完成的?(,但是它正在从项目结构下的开放模块中出现在classPath下。我该如何解决?
这是我的错误:
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.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 Automate.dbConnect(Automate.java:16)
at Automate.main(Automate.java:34)
这是代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
class Automate {
public void dbConnect(String db_connect_string,
String db_userid,
String db_password)
{
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection conn = DriverManager.getConnection(db_connect_string,
db_userid, db_password);
System.out.println("connected");
Statement statement = conn.createStatement();
String queryString = "select * from sysobjects where type='u'";
ResultSet rs = statement.executeQuery(queryString);
while (rs.next()) {
System.out.println(rs.getString(1));
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args)
{
Automate connServer = new Automate();
connServer.dbConnect("jdbc:sqlserver://SERVER, "USERNAME",
"PASSW");
}
我的问题是我正在使用过时的JDBC类名称。
这是解决方案:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
小错误.. big问题