了解 Microsoft Access 安全性
时间:2007-12-23 来源:不详 作者:迈克DB
选中 Microsoft ADO Ext 2.5 for DDL and Security 复选框。 请看以下第一次设置密码时的代码: Private Function CreateDBPassword(ByVal Password As String, _ ByVal Path As String) As Boolean Dim objConn as ADODB.Connection Dim strAlterPassword as String On Error GoTo CreateDBPassword_Err ' 创建 SQL 串以初始化一个密码。 strAlterPassword = "ALTER DATABASE PASSWORD [Password] NULL;" ' 打开不具有安全设置的。 Set objConn = New ADODB.Connection With objConn .Mode = adModeShareExclusive .Open "Provider=Microsoft.Jet.OLEDB.4.0;Data " & _ "Source=Path;" ' 执行 SQL 语句对进行安全设置。 .Execute (strAlterPassword) End With ' 清除对象。 objConn.Close Set objConn = Nothing ' 假如成功,返回 true。 CreateDBPassword = True CreateDBPassword_Err: Msgbox Err.Number & ":" & Err.Description CreateDBPassword = False End Function 此过程接受用户的密码以及 .mdb 文件的路径。首先,我们声明一个变量,代表对不具有安全设置的的连接,同时声明一个
String 变量以包含我们用于更改密码的 SQL 语句。下一步,我们将 strAlterPassword 设置给使用 ALTER DATABASE PASSWORD 要害字的 Jet SQL 语句。请注重,因为我们不是要替换密码,因而第二个参数被设置为
NULL 。下一步,我们打开一个到该的连接。要设置密码,必须以独占方式打开,因此要设置
Mode 属性。然后执行 SQL 语句。您通常可以从一个运行此过程,以便在一个单独的不具有安全设置的中设置密码。假如一切正常,函数返回
True 。 假如要更改具有安全设置的的密码,首先需要使用旧密码登录,然后再更改密码。以下过程显示了这一技术。 在使用以下过程之前,可能需要设置对
Microsoft ADO Ext 2.5 for DDL and Security 库的引用(假如尚未设置):
- 在 Visual Basic 编辑器中,指向“工具”菜单中的“引用”。将显示“引用”对话框。
- 选中 Microsoft ADO Ext 2.5 for DDL and Security 复选框。
请看以下过程: Private Function ChangeDBPassword(ByVal OldPassword As String, _ ByVal NewPassword As String, ByVal Path As String) As Boolean Dim objConn as ADODB.Connection Dim strAlterPassword as String On Error GoTo ChangeDBPassword_Err ' 创建 SQL 串以更改密码。 strAlterPassword = "ALTER DATABASE PASSWORD [NewPassword] [OldPassword];" ' 打开具有安全设置的。 Set objConn = New ADODB.Connection With objConn .Mode = adModeShareExclusive .Provider = "Microsoft.Jet.OLEDB.4.0" .Properties("Jet OLEDB:Database Password") = "OldPassword" .Open "Data Source=Path;" ' 执行 SQL 语句以更改密码。 .Execute (strAlterPassword) End With ' 清除对象。 objConn.Close Set objConn = Nothing ChangeDBPassword = True ChangeDBPassword_Err: Msgbox Err.Number & ":" & Err.Description ChangeDBPassword = False End Function 此过程与前面的子例程类似,只是在登录具有安全设置的时,需要使用更改之前的旧密码。为此,针对要更改的,我们设置了
Connection 对象的
Database Password
文章评论
共有位Admini5网友发表了评论 查看完整内容