我正在测试我与数据库的连接。我无法正确编译。我已经通过Intellij IDE将sqljdbc4.jar添加到类路径中(可能它做错了吗?)但它出现在Project Structures下的Open Modules的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");
}
答案 0 :(得分:-1)
我的问题是我使用的是过时的JDBC类名。
这是修复:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
小错误..大问题