『壹』 java怎麼連接access資料庫
1 先建立一個access文件a1.mdb,並放在D:/下;
2 在資料庫文件a1.mdb中建立一個表Table1;
3 為Table1添加一列,並插入至少一條記錄;
4 一個完整的類,直接拿去運行就可以。
import java.sql.*;
public class ConnectAccess {
public static void main(String args[]) throws Exception {
ConnectAccess ca=new ConnectAccess();
ca.ConnectAccessFile();
ca.ConnectAccessDataSource();
}
public void ConnectAccessFile() throws Exception
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
/**
* 直接連接access文件。
*/
String dbur1 = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=d://a1.mdb";
Connection conn = DriverManager.getConnection(dbur1, "username", "password");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from Table1");
while (rs.next()) {
System.out.println(rs.getString(1));
}
rs.close();
stmt.close();
conn.close();
}
public void ConnectAccessDataSource()throws Exception {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String dbur1 = "jdbc:odbc:dataS1";// 此為ODBC連接方式
Connection conn = DriverManager.getConnection(dbur1, "username", "password");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from Table1");
while (rs.next()) {
System.out.println(rs.getString(1));
}
rs.close();
stmt.close();
conn.close();
}
}
『貳』 java操作其它機器共享的access資料庫,做插入操作的時候 報錯:「操作必須使用一個可更新的查詢」
有幾個主要的錯誤原因:
這個錯誤發生在當你的程序試圖執行更新資料庫或其它類似操作時。這是因為
ADO由於以下的幾個原因而不能夠寫資料庫造成的。
1。最普遍的原因是匿名用戶帳號(IUSR_MACHINE)對該資料庫文件沒有寫許可權。
要解決這個問題,在管理器中調整資料庫文件的屬性,讓匿名用戶有正確的許可權。
當使用ACCESS資料庫時,不僅要給文件寫的許可權,還要給該目錄寫 的許可權,因為
Jet需要在該目錄建立一個.ldb文件。
2。第二個原因是資料庫沒有使用正確的模式打開。應該使用下面的方法打開。
SQL = "UPDATE Procts Set UnitPrice = 2;"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Mode = 3 '3 = adModeReadWrite
Conn.Open "myDSN"
Conn.Execute(SQL)
Conn.Close
注意默認的Mode是設置0(adModeUnknown),它是允許更新的。
3。還有可能是在ODBC管理器中將該DSN的只讀選項選中。
4。你是在同時更新兩個表中的欄位,也會出現這個錯誤信息,解決辦法是分開來更新
這兩個表中各自欄位。
5。當你使用了一個從低版本中(如ACCESS2.0,ACCESS7.0)載入到高版本(ACCESS 2000)
中的查詢時,在執行這個查詢是會出現該錯誤。
解決辦法
1、win2k win2003 系統
問題應該是伺服器資料庫目錄的寫入許可權沒有設置好。
資料庫目錄 屬性 安全 EVERYONE ……給他寫入許可權就OK了。
2、winXP系統
XP操作系統安裝好,文件夾選項裡面默認使用簡單共享(推薦),把這個選項去掉,
再在文件夾上右鍵點擊,就會出現安全這個選項卡,
原來默認的沒有,然後在安全選項卡裡面可以設置用戶的寫入許可權了
右擊資料庫>安全>everyone>將需要的勾上
意思就是系統不讓更新資料庫了,就是對資料庫沒有寫入的許可權了。
在2000或XP下的NTFS格式的文件,都有許可權設置的,用滑鼠右鍵點文件或文件夾選屬性,架設你的網站是在webroot的文件夾里,再點安全,你可以看看允許項有沒有打鉤。
上面的Everyone就是所有人的意思,你可以上這個用戶組可以完全控制
那樣就不會再有那個錯誤了。
『叄』 Java 連接access 資料庫成功 能夠讀取數據 為什麼插入數據總報錯 但是打開
經多方查詢,找到解決方案:在連接字元串後面加參數lockType=ACCESS。
相關代碼:
Class.forName("com.hxtt.sql.access.AccessDriver");
String strurl="jdbc:Access:///d:/mydata.accdb?lockType=ACCESS";
Connection conn=DriverManager.getConnection(strurl);
參看鏈接:網頁鏈接