http://www.perlmonks.org?node_id=117694

ciamack has asked for the wisdom of the Perl Monks concerning the following question: (database programming)

Regarding CGI programing:

I am new to DB in Perl and I'm not sure what the difference between these 2 methods below is. I have a MS access mdb file with tables and data on a server. I can't ask my ISP to create a DSN for me. I have used "method2" below and it works fine.

Thank you in advance.

method 1:

use Win32::OLE; $ConnStr = "DSN=DsnName;UID=UserName;PWD=pass; APP=PerlTest;WSID=MyComp;DATABASE=MyDB"; $Conn = Win32::OLE->new('ADODB.Connection'); $Conn->Open($ConnStr);

method 2:

use Win32::ODBC; $DriverType = "Microsoft Access Driver (*.mdb)"; $DSN = "Win32 ODBC --MAOmaoMAOmaoMAO--"; $Dir = "c:\\perl\\cgi-bin"; $DBase = "mydb.mdb"; Win32::ODBC::ConfigDSN(ODBC_ADD_DSN, $DriverType, ("DSN=$DSN", "Description=MAO Win32 ODBC Test DSN for perl", "DBQ=$Dir\\$DBase", "DEFAULTDIR=$Dir", "UID=", "PWD=")) or die "ConfigDSN(): Could not add temporary DSN" . Win32::ODBC::Error(); $db=new Win32::ODBC($DSN) or die "couldn't ODBC $DSN because", Win32::ODBC::Error(), "\n";

Originally posted as a Categorized Question.