设置数据库登录密码时未设置连接字符串



我接手了一个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

编辑

这是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)出错

修复;

dbo.CompactDatabase线上的错误是由参数引起的。"密码无效"

解决方法是将这一行改为以下

dbo.CompactDatabase(dataSet.Tables(0).Rows(0).Item("backupPath") & "backup" & DateTime.Now.ToString("yyyy-dd-MM") & "-nc.mdb", newDB, Nothing, Nothing, ";pwd=myPassword")

相关内容

  • 没有找到相关文章

最新更新