Accessing Secured Databases from VB4

Also, an apparent bug in the 16-bit Jet 2.5 database engine causes the DBEngine’s CreateWorkspace method to fail unless the DefaultUser and DefaultPassword properties contain the values required by the secured database. And so, for your coding pleasure, I’m is pleased to present the following examples:

For 16-bit programs, you must first create an APPNAME.INI file (where APPNAME is the base name of your program’s .EXE file) containing at least the following:

[Data] 
Database=D:\PATH\DBNAME.MDB 
[Options] 
SystemDB=D:\PATH\SYSTEM.MDA 

Then, to open the database, do this:

Dim sUserName As String 
Dim sPassword As String
Dim db As Database
Dim ws As Workspace
     sUserName = "Your Name Here" 
     sPassword = "Bite_Me" 
     ' Create secured workspace 
     With DBEngine
           .IniPath = "D:\PATH\APPNAME.INI" 
           .DefaultUser = sUserName 
           .DefaultPassword = sPassword 
     End With 
     ' Workspace name is arbitrary, 
     ' but must be unique 
     Set ws = DBEngine.CreateWorkspace("Name", sUserName, sPassword) 
     ' Open database via secured workspace 
     Set db = ws.OpenDatabase("D:\PATH\DBNAME.MDB"...)

32-bit programs do not require an .INI file, nor do they require you to set the DefaultUser and DefaultPassword properties. Simply set the DBEngine’s SystemDB property to point to your system database:

Dim sUserName As String 
Dim sPassword As String
Dim db As Database
Dim ws As Workspace
     sUserName = "Your Name Here" 
     sPassword = "Bite_Me" 
     ' Create secured workspace 
     DBEngine.SystemDB = "D:\PATH\SYSTEM.MDW" 
     Set ws = DBEngine.CreateWorkspace("Name", sUserName, sPassword) 
     ' That's it! Open sesame... 
     Set db = ws.OpenDatabase("D:\PATH\DBNAME.MDB"...)

Note: These examples assume that you have properly secured the database using the Access Security Wizard. During that process, Access will create the SYSTEM.MDA or .MDW files mentioned above.

 

Tip Submitted By: Phil Weber

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s