You can create a text file with the following information on the fly and output it to a filename and directory of your choice. I give mine a *.dsn extension. Notice DefaultDir= and DBQ= should point to the directory and filename you output the DSN info to.
[ODBC] DRIVER=Microsoft Access Driver (*.mdb) UID=admin UserCommitSync=Yes Threads=3 SafeTransactions=0 PageTimeout=5 MaxScanRows=8 MaxBufferSize=512 FIL=MS Access DriverId=281 DefaultDir='\\server\directorypath' DBQ='\\server\directorypath\databasename.mdb' Then in your program include this use clause at the top: use Win32::ODBC; Then later in your program add a couple subroutines that You can call to open and close the database. sub Open_Database() { my $FILEDSN="FILEDSN=\\\\server\\directorypath\\databasename.dsn"; $db = new Win32::ODBC($FILEDSN); if (! $db) { my $error=Win32::ODBC::Error(); Win32::GUI::MessageBox($WindowName, "Can't Establish Database Connection using:\n$FILEDSN\n$error", "Application Name - Error",16,); return 1; } return 0; } sub Close_Database() { $db->Close(); # close the database connection undef $db; }