2010-04-20 17 views
0

Je crée une base de données comme ceci:Ouverture d'un mot de passe base de données d'accès crypté à l'aide DAO VB.NET

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 

Comment puis-je ouvrir cette base de données à nouveau en VB.NET utilisant DAO?

Répondre

2
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 

Pour OAC, les chaînes de connexion sont plus susceptible de regarder soit comme ceci:

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

ou comme ceci:

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

Pour la première chaîne, vous devrez créer un fichier DSN (Data Source Name), en utilisant Panneau de configuration/Outils d'administration/Sources ODBC. La deuxième chaîne ne nécessite pas de connexion DSN. Maintenant vous savez pourquoi ils ont inventé ADO.NET.

+0

1. Quelles références et quels espaces de noms devez-vous inclure pour ADODB? 2. Existe-t-il un moyen d'utiliser la méthode OpenDatabase() de DBEngine.Workspaces (0)? –

+0

1. Ajoutez une référence à la bibliothèque Microsoft ActiveX Data Objects 2.8, à l'aide de l'onglet COM de la boîte de dialogue Ajouter des références dans Visual Studio. –

+0

2. Non, c'est un objet DAO. Vous pouvez essayer d'ajouter une référence à la bibliothèque d'objets Microsoft DAO 3.6 et à l'aide de DAO. Il y a un exemple de code ici: http://www.dotnet247.com/247reference/msgs/18/90914.aspx –