Я принял проект vb.net, и одна из его особенностей заключается в том, что он автоматически создает ежедневную резервную копию базы данных при первом открытии системы каждый день.Установка пароля для входа в базу данных без установки строки подключения
Одна вещь, которую попросил клиент, - это ввести пароль в базу данных, сделать ее более безопасной и ограничить доступ к ней, поскольку он будет продавать на проекте дальше.
Я добавил пароль и установил пароль в строке подключения для входа в программу, однако мне нужно установить пароль для резервного копирования, но на данный момент я не могу решить, где пароль будет идти, так как я никогда не делал ничего подобного раньше (поскольку я только ученик на данный момент).
Что такое самый простой способ установить пароль для резервного копирования? Это код, который в настоящее время заботится о нем
If .Item("autoBackup") = True Then
If .Item("buDaily") = True Then
sql = "SELECT * FROM [System Settings]"
dataAd = New OleDb.OleDbDataAdapter(sql, con)
dataset = New DataSet
dataAd.Fill(dataset)
With dataset.Tables(0).Rows(0)
If File.Exists(.Item("backupPath") & "backup" & _
DateTime.Now.ToString("yyyy-dd-MM") & ".mdb") = True Then
Else
System.Threading.ThreadPool.QueueUserWorkItem(AddressOf asyncBackupDaily)
End If
End With
End If
EDIT
Это код asyncBackupDaily
Private Sub asyncBackupDaily(ByVal state As Object)
Try
sql = "SELECT * FROM [System Settings]"
dataAd = New OleDb.OleDbDataAdapter(sql, con)
dataSet = New DataSet
dataAd.Fill(dataSet)
Dim currentDB As String = readIni("DATABASE", directorypath & "settings.ini")
Dim newDB As String = dataSet.Tables(0).Rows(0).Item("backupPath") & _
"backup" & DateTime.Now.ToString("yyyy-dd-MM") & ".mdb"
My.Computer.FileSystem.CopyFile(currentDB, dataSet.Tables(0).Rows(0).Item("backupPath") & _
"backup" & DateTime.Now.ToString("yyyy-dd-MM") & "-nc.mdb", True)
If My.Computer.FileSystem.FileExists(newDB) = True Then
My.Computer.FileSystem.DeleteFile(newDB)
End If
Dim dbo As New DAO.DBEngine
dbo.CompactDatabase(dataSet.Tables(0).Rows(0).Item("backupPath") & _
"backup" & DateTime.Now.ToString("yyyy-dd-MM") & "-nc.mdb", newDB & ";pwd=Acplus2016!")
Try
My.Computer.FileSystem.DeleteFile(dataSet.Tables(0).Rows(0).Item("backupPath") & _
"backup" & DateTime.Now.ToString("yyyy-dd-MM") & "-nc.mdb")
Catch ex As Exception
End Try
MsgBox("Daily auto-backup successful!", MsgBoxStyle.OkOnly, "Success")
Catch ex As Exception
errorLog(ex)
End Try
End Sub
Ошибка на линии dbo.CompactDatabase(dataSet.Tables(0).Rows(0).Item("backupPath") & "backup" & DateTime.Now.ToString("yyyy-dd-MM") & "-nc.mdb", newDB)