Страница: 1 |
Страница: 1 |
Вопрос: Пароль
Добавлено: 25.01.05 06:41
Автор вопроса: Mihalыch | ICQ: 373-509-101
Как программно поставить, получить, изменить пароль на базу данных Access?
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #1
Добавлено: 25.01.05 11:42
Поставить
Public Function SetDatabasePassword(DBPath As String, _
newPassword As String) As Boolean
'Usage: Password protect a database that previously had no
'password
'Parameters: sDBPath: Full Path to Access Database
'newPassword: the password
'returns true on success false otherwise
If Dir(DBPath) = "" Then Exit Function
Dim db As DAO.Database
On Error Resume Next
Set db = OpenDatabase(DBPath, True)
If Err.Number <> 0 Then Exit Function
db.newPassword "", newPassword
SetDatabasePassword = Err.Number = 0
db.Close
End Function
Изменить
Public Function ChangeDatabasePassword(DBPath As String, _
newPassword As String, oldPassWord As String) As Boolean
'Usage: Change DatabasePassword
'Parameters: sDBPath: Full Path to Access Database
'newPassword: the password
'oldPassword: the previous password
'returns true on success false otherwise
If Dir(DBPath) = "" Then Exit Function
Dim db As DAO.Database
On Error Resume Next
Set db = OpenDatabase(DBPath, True, False, ";pwd=" & oldPassWord)
If Err.Number <> 0 Then Exit Function
db.newPassword oldPassWord, newPassword
ChangeDatabasePassword = Err.Number = 0
db.Close
End Function
Сбросить
Public Function ResetPwd(sFileName As String) As Boolean
Dim bChr As Byte
Dim bAr(5) As Byte
Dim fNum As Long
Dim i As Integer
On Error GoTo ErrHandler
fNum = FreeFile
Open sFileName For Binary As #fNum
Seek #fNum, 66
bAr(0) = 78
bAr(1) = 134
bAr(2) = 251
bAr(3) = 236
bAr(4) = 55
For i = 0 To 4
' Get #fNum, , bChr
Put #fNum, , bAr(i)
Next i
Close #fNum
ResetPwd = True
Exit Function
ErrHandler:
ResetPwd = False
End Function
Номер ответа: 2
Автор ответа:
Mihalыch
ICQ: 373-509-101
Вопросов: 56
Ответов: 330
Профиль | | #2
Добавлено: 25.01.05 11:47
Огромное спасибо!!!
Номер ответа: 3
Автор ответа:
Mihalыch
ICQ: 373-509-101
Вопросов: 56
Ответов: 330
Профиль | | #3
Добавлено: 25.01.05 17:04
Вот что нашел, может кому пригодится:
1. установить пароль при создании базы данных с помощью ADOX objCatalog.Create ("Provider = Microsoft.Jet.OLEDB.4.0; Data Source=" & strPath & "; Jet OLEDB:Database Password = 1"
2. Установить пароль на существующую базу данных с помощью ADO connection.Execute "alter database password NewPassword OldPassword". Если пароль устанавливается впервые, вместо OldPassword следует поставить null. При этом св-во Mode, объекта Connection должно быть = adModeShareExclusive.
Номер ответа: 4
Автор ответа:
vvv1
Вопросов: 1
Ответов: 2
Профиль | | #4
Добавлено: 31.01.05 16:36
Извините делетанта
Как открыть базу аксес с паролем для чтения и записи?
Номер ответа: 5
Автор ответа:
Mihalыch
ICQ: 373-509-101
Вопросов: 56
Ответов: 330
Профиль | | #5
Добавлено: 31.01.05 16:47
With Connection
.Mode = adModeShareDenyNone
.Provider = "Microsoft.Jet.OLEDB.4.0; Jet OLEDB:Database Password = " & Password
.ConnectionString = Path
.Open
End With
Номер ответа: 6
Автор ответа:
vvv1
Вопросов: 1
Ответов: 2
Профиль | | #6
Добавлено: 31.01.05 18:24
СПАСИБО!
Номер ответа: 7
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #7
Добавлено: 31.01.05 18:24
Пример установки пароля
Project>References "Microsoft DAO 3.6 Object Library"
Public Function SetDatabasePassword(DBpath As String, newPassword As String) As Boolean '+
'Защищает базу данных паролем, если она до этого не имела пароля
'Параметры: sDBPath: Полный путь к базе данных Access
'newPassword: пароль
'В случае успеха, возвращает true, иначе false
If Dir(DBpath) = "" Then Exit Function
Dim db As DAO.Database
On Error Resume Next
Set db = OpenDatabase(DBpath, True)
If Err.Number <> 0 Then Exit Function
db.newPassword "", newPassword
SetDatabasePassword = Err.Number = 0
db.Close
End Function