Heureka! The problem lies in the mod_php4 which is compiled with ODBC support, and somehow it turns out to load the ODBC driver instead of the DB2 one. Weird. I'm using mod_php 4.3.3 on SuSE 9.0
Anyway, thanks to all who tried to help me. Miroslav On 08. Nov v 15:17, Miroslav Lauš wrote: > Hi all! > > I'm using DBD::DB2 to access remote DB2 database on an AS400 machine. I've > managed it to work from command line. > > But when trying to connect to remote database from a mod_perl application the > $DBI::errstr is set to this: > > >[iODBC][Driver Manager]Data source name not found and no default driver > >specified. Driver could not be loaded > > What the hell is ODBC doing here? > > This is the source of the Mason component: > > -- DB2test.html > <%$DBI::errstr%> > > DB2DIR <%$ENV{'DB2DIR'}%><br> > DB2INSTANCE <%$ENV{'DB2INSTANCE'}%><br> > INSTHOME <%$ENV{'INSTHOME'}%><br> > CLASSPATH <%$ENV{'CLASSPATH'}%><br> > LD_LIBRARY_PATH <%$ENV{'LD_LIBRARY_PATH'}%><br> > LIBPATH <%$ENV{'LIBPATH'}%><br> > > <%INIT> > use DBI; > use DBD::DB2::Constants; > use DBD::DB2; > > my $loc = setlocale( LC_ALL, "cs_CZ" ); > > my $dbstr = "dbi:DB2:as400tes"; > my $dbuser = 'MLAUS'; > my $dbpasswd = 'MLAUS'; > > my $dbh = DBI->connect($dbstr, $dbuser, $dbpasswd); > > my $sql = "SELECT > SULNME,SUFNME FROM CABLEDTA.SUBSMSTR AS MAIN WHERE MAIN.SULNME LIKE 'LAU%' > ORDER BY MAIN.SULNME,MAIN.SUFNME ASC;"; > </%INIT> > > <%ARGS> > </%ARGS> > -- > > If I try to run the CLI version as normal CGI, it works. I'm sure the > environment is setup allright. > > I'm running Apache 1.3.28, mod_perl 1.28, HTML::Mason 1.05, DBI 1.45, DBD::DB2 > 0.78. > > Miroslav Laus >