JDBC 添加到类路径的 jar 仍然收到错误
JDBC jar added to Classpath still receiving error
我正在测试与数据库的连接。我无法正确编译它。我已经通过 Intellij IDE 添加了 sqljdbc4.jar 到类路径(也许它做错了?)但它显示在项目结构下的开放模块的类路径下。
我该如何解决这个问题?
这是我的错误:
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 名称。
这是修复:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
小错误..大问题
我正在测试与数据库的连接。我无法正确编译它。我已经通过 Intellij IDE 添加了 sqljdbc4.jar 到类路径(也许它做错了?)但它显示在项目结构下的开放模块的类路径下。 我该如何解决这个问题?
这是我的错误:
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 名称。
这是修复:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
小错误..大问题