[英]Java not connecting to MS Access database using Eclipse
誰能幫我? 我已經嘗試解決了一個小時,但我仍然感到困惑。 下面是我的代碼,編譯時出現此錯誤。
輸出味精::
DriverLoaded
Could Not Connect to Databasejava.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at DBConnect.<init>(DBConnect.java:11)
at DBConnect.main(DBConnect.java:21)
碼::
import java.sql.*;
public class DBConnect {
public DBConnect() {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("DriverLoaded");
String url = "jdbc:odbc:; DRIVER = Microsoft Access Driver (*.mdb, *.accdb); DBQ = DB.accdb";
Connection con = DriverManager.getConnection(url);
System.out.println("Connection Established Successfully");
} catch(Exception e) {
e.printStackTrace();
System.out.println("Could Not Connect to Database");
}
}
public static void main (String args[]) {
DBConnect dbcon = new DBConnect();
}
}
getConnection()
重載方法
1) getConnection( String url, Properties info )
url-格式為jdbc:subprotocol:subname的數據庫URL
info-任意字符串標記/值對的列表作為連接參數; 通常至少應包括“用戶”和“密碼”屬性
2) getConnection( String url, String user, String password )
url-格式為jdbc:subprotocol:subname的數據庫URL
user-代表建立連接的數據庫用戶
密碼-用戶的密碼
3) getConnection( String url )
url-格式為jdbc:subprotocol:subname的數據庫URL
考慮到您使用的是最后一個構造函數,看來您的url語法不正確。 我對MS Access並不熟悉,但是我會提供我在另一個答案中發現的建議。
這是你的語法
"jdbc:odbc:; DRIVER = Microsoft Access Driver (*.mdb, *.accdb); DBQ = DB.accdb"
我發現的正確語法是
File f = new File("\\\\***\\***\\****\\***.accdb");
"jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + f.getAbsolutePath();
看起來您在odbc之后有多余的分號和多余的空間。 也許您想嘗試上面的語法,看看會發生什么。 我不確定文件部分,但如果在進行分號/空格修復后,您的網址仍然失敗,則可能需要調查一下。
還要查看此問題,以獲取有關其他選項的更多信息使用用戶名和密碼連接
下面是您的問題的工作代碼...
import java.sql.*;
public class DBConnect {
public DBConnect() {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("DriverLoaded");
String url = "jdbc:odbc:instance";
Connection con = DriverManager.getConnection(url);
System.out.println("Connection Established Successfully");
} catch(Exception e) {
e.printStackTrace();
System.out.println("Could Not Connect to Database");
}
}
public static void main (String args[]) {
DBConnect dbcon = new DBConnect();
}
}
要遵循的步驟:
打開開始>控制面板>性能和維護>管理工具>數據源(ODBC)>單擊“系統DSN”選項卡>單擊“添加”>選擇Microsoft Access Driver(accdb,mdb)>命名:instance,(因為getConnection(“ jdbc: odbc:instance“),然后單擊並瀏覽位於硬盤驅動器中的DB.accdb),按ok並重新啟動命令提示符。 然后再次運行代碼。
創建一個Java項目。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.