Với một số phần mềm trong một số lĩnh vực có dữ liệu tương đối ít, không cần dùng đến MS SQL để lưu trữ thì vệc lựa chọn cơ sở dữ liệu tương đối hợp lý là MS Access.
VD: Database một số Website, database một số phần mềm bán lẻ POS …
Ưu điểm: Nhỏ, nhẹ, đơn giản, dễ cài, ADO thường có sẵn khi cài Windows.
Để bảo mật Database MS Access có nh74ng cách làm thông thường như:
– Với MS Access 2003 (hoặc cũ hơn):
Lưu ý: để Set password Database thì khi mở phải chọn: Open Exclusive
– Với MS Access 2007 (hoặc mới hơn):
Lưu ý: để Set password Database thì khi mở phải chọn: Open Exclusive
Tuy nhiên những cách làm thông thường trên thường bị Recover password trong tích tắc <1s.
Giải pháp nào để tránh việc dùng phần mềm recover?
1. Dùng ADO để tạo Database, phần mềm Recover khi kiểm tra sẽ báo lỗi: File format error
VD: http://www.mediafire.com/?nhpp8oapuos70hp
Password databse đơn giản chỉ là: 12345 (thử kiểm tra lại bằng MS Access)
2. Tạo mật khẩu phức tạp bằng những ký tự không thể nhập trực tiếp từ bàn phím:
VD: Backspace _chr(8), Esc _chr(27),…
Password phức tạp: http://www.mediafire.com/download.php?a7cjngk3pb6rbel
Đơn giản thế thôi, chúc các bạn thành công!
Thanks a Thanh
Cám ơn bác Thanh
Public Sub CreateDb()
Dim cat As ADOX.Catalog
Set cat = New ADOX.Catalog
cat.Create (“Provider=Microsoft.Jet.OLEDB.4.0;” & _
“Data Source=C:\NewMDB.mdb;” & _
“Jet OLEDB:Engine Type=5; Jet OLEDB:Database password=” & Chr(8) & Chr(27))
Set cat = Nothing
End Sub
Public Sub connect()
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
cn.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\NewMDB.mdb;Jet OLEDB:Database password=” & Chr(8) & Chr(27)
cn.Open
cn.Close
Set cn = Nothing
End Sub
Em thử pass như thế này vẫn có thể dò ra. Bác Thanh chỉ em rõ hơn một chút, em hơi bị dốt. ký tự Bác dùng làm pass trong file ‘database_test_lock.mdb’ là gì vậy Bác ?
Cách dùng DAO em dùng phần mềm dò mật khẩu vẫn tìm ra sư phụ à.
Hình như có sự nhầm lẫn, File tạo ra từ ADO không có dữ liệu gì cả, pass: 12345 có chú thích rồi.
Anh Thanh ơi cho e hỏi ké ở thread này tí! Mấy soft về dự toán của anh như XDDN_EST e làm theo hướng dẫn nhưng chưa biết cái chạy Chuơng trình, nhờ a giúp với, thanks
Đặt password cho khó bây giờ đổi không được. Chết dỡ đây.
File : “C:\NewMDB.mdb”
Pass : Chr(7)
Public Sub ResetPassword()
On Error GoTo FAIL
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
cn.Mode = adModeShareExclusive
cn.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\NewMDB.mdb;Jet OLEDB:Database password=” & Chr(7)
cn.Open
cn.Execute “ALTER DATABASE PASSWORD NULL ” & Chr(7) ‘ Loi cho nay
cn.Close
Set cn = Nothing
MsgBox “Database Password has been reset.”
Exit Sub
FAIL:
MsgBox Err.Description
Err.Clear
Set cn = Nothing
End Sub
Cuối cùng lỗi : “invalid sql syntax -expected password.”