Открытие базы данных с зашифрованным паролем с использованием DAO VB.NET - PullRequest
0 голосов
/ 20 апреля 2010

Я создаю базу данных так:

Sub Main()

        Dim wrkDefault As Workspace
        Dim dbE As DBEngine
        Dim dbs As Database

        'Get default Workspace.
        dbE = New DBEngine
        wrkDefault = dbE.Workspaces(0)

        'Set the database filename
        Dim DBFilename As String
        DBFilename = "c:\mydb.mdb"

        'Make sure there isn't already a file with the same name of
        'the new database file.
        If Dir(DBFilename) <> "" Then
            MsgBox("File already exists!")
            Exit Sub
        End If

        'Create a new encrypted database with the specified
        'collating order.
        'lock database with the password 'hello'
        dbs = wrkDefault.CreateDatabase(DBFilename, _
              LanguageConstants.dbLangGeneral & ";pwd=hello;", DatabaseTypeEnum.dbEncrypt)

        dbs.Close()

    End Sub

Как мне снова открыть эту базу данных в VB.NET, используя DAO?

1 Ответ

2 голосов
/ 20 апреля 2010
Dim cn As New ADODB.Connection
cn.Provider = "Microsoft Jet 4.0 OLE DB Provider"
cn.ConnectionString = "Data Source=c:\db1.mdb"
cn.Properties("Jet OLEDB:Database Password") = "mypwd"
cn.Open

Для DAO строки подключения, скорее всего, будут выглядеть так:

ODBC;DSN=DSNname;DATABASE=DBname;UID=SQLUser;PWD=SQLpassword;

или как это:

Driver={Microsoft Access Driver (*.mdb)};" & _
         "DBQ=C:\...\NWind.mdb;" & _
         "UID=admin;PWD=password;"

Для первой строки вам потребуется создать файл имени источника данных (DSN), используя Панель управления / Администрирование / Источники ODBC. Вторая строка не требует подключения DSN. Теперь вы знаете, почему они изобрели ADO.NET.

...