Re: DBD::Oracle/Windows2000 OK from prompt, not mod_perl?
> > > >I'm having a problem on Windows 2000 where DBD::Oracle works fine from > > > >perl on the command prompt but not from inside mod_perl. I think it is a > > > >problem loading DLLs but I can't figure out what's different running under > > > >mod_perl. I started making progress after taking Randy's suggestion and copying the DLLs into my Apache directory just to see what happened. The Oracle client was originally installed on a mapped network drive, once I moved it to my local drive and pointed ORACLE_HOME to that location it worked fine. Not sure why Apache would have trouble finding DLLs on a network drive but not on a local drive, but it works now so I'm happy. Thanks for the help guys! Larry
Re: DBD::Oracle/Windows2000 OK from prompt, not mod_perl?
On Wed, 30 Oct 2002, Larry Leszczynski wrote: > Hi Perrin - > > > >I'm having a problem on Windows 2000 where DBD::Oracle works fine from > > >perl on the command prompt but not from inside mod_perl. I think it is a > > >problem loading DLLs but I can't figure out what's different running under > > >mod_perl. The machine is running: > > > ActiveState perl 5.6.1 build 633 > > > Apache 1.3.26 (prebuilt) > > > mod_perl 1.27_01-dev (Randy Kobe's build) > > > DBD-Oracle8 (ActiveState ppm) > > > > > > > You can't just mix and match like that. Modules that you want to use > > under mod_perl have to be built against the same perl that mod_perl was > > built with. If there is a DBD::Oracle with Randy's distro, use it. > > Otherwise, you need to build DBD::Oracle with the same perl he used, or > > build mod_perl with ActiveState 633. > > Hmmm, I was hoping that was not the case - all my other mod_perl stuff > works fine, including libapreq stuff and SOAP::Lite, but maybe just by > coincidence... > > Hey Randy, do you happen to have a DBD-Oracle build? I don't, but I thought that compatibility shouldn't be a problem in this context. I know it's getting confusing a bit with all the different versions, but the mod_perl-1.27 ppm package I compiled with an ActiveState 633 compatible Perl against Apache-1.3.27, which matches the versions of stuff you list above ... >From your earlier message, it seemed to be having a problem finding certain dlls ... Just to test things, if you temporarily copy these dlls to a "standard" location in your PATH, does that help? Or, in your script/handler, or in a startup file, if you explicitly set $ENV{PATH} to include where the Oracle dlls are, does that work? And, finally, does Oracle need any special environment variables that may be visible at a command prompt that aren't being passed to the mod_perl environment? -- best regards, randy
Re: DBD::Oracle/Windows2000 OK from prompt, not mod_perl?
Hi Perrin - > >I'm having a problem on Windows 2000 where DBD::Oracle works fine from > >perl on the command prompt but not from inside mod_perl. I think it is a > >problem loading DLLs but I can't figure out what's different running under > >mod_perl. The machine is running: > > ActiveState perl 5.6.1 build 633 > > Apache 1.3.26 (prebuilt) > > mod_perl 1.27_01-dev (Randy Kobe's build) > > DBD-Oracle8 (ActiveState ppm) > > > > You can't just mix and match like that. Modules that you want to use > under mod_perl have to be built against the same perl that mod_perl was > built with. If there is a DBD::Oracle with Randy's distro, use it. > Otherwise, you need to build DBD::Oracle with the same perl he used, or > build mod_perl with ActiveState 633. Hmmm, I was hoping that was not the case - all my other mod_perl stuff works fine, including libapreq stuff and SOAP::Lite, but maybe just by coincidence... Hey Randy, do you happen to have a DBD-Oracle build? (Btw, Randy deserves major kudos for maintaining his stuff at theory5x.winnipeg.ca!) Thanks, Larry Leszczynski [EMAIL PROTECTED]
Re: DBD::Oracle/Windows2000 OK from prompt, not mod_perl?
Larry Leszczynski wrote: I'm having a problem on Windows 2000 where DBD::Oracle works fine from perl on the command prompt but not from inside mod_perl. I think it is a problem loading DLLs but I can't figure out what's different running under mod_perl. The machine is running: ActiveState perl 5.6.1 build 633 Apache 1.3.26 (prebuilt) mod_perl 1.27_01-dev (Randy Kobe's build) DBD-Oracle8 (ActiveState ppm) You can't just mix and match like that. Modules that you want to use under mod_perl have to be built against the same perl that mod_perl was built with. If there is a DBD::Oracle with Randy's distro, use it. Otherwise, you need to build DBD::Oracle with the same perl he used, or build mod_perl with ActiveState 633. - Perrin
DBD::Oracle/Windows2000 OK from prompt, not mod_perl?
Hi - I'm having a problem on Windows 2000 where DBD::Oracle works fine from perl on the command prompt but not from inside mod_perl. I think it is a problem loading DLLs but I can't figure out what's different running under mod_perl. The machine is running: ActiveState perl 5.6.1 build 633 Apache 1.3.26 (prebuilt) mod_perl 1.27_01-dev (Randy Kobe's build) DBD-Oracle8 (ActiveState ppm) >From "perl -de 0" on the command line (abbreviated output): DB<1> use DBI; DB<2> $dbh = DBI->connect("dbi:Oracle:db","user","passwd"); DB<3> @rows = $dbh->selectrow_array("select * from dual"); DB<4> x @rows 0 'X' DB<5> x $ENV{PATH} 0 'C:\\Perl\\bin\\;C:\\WINNT\\system32;C:\\WINNT; C:\\WINNT\\System32\\Wbem; C:\\Program Files\\Common Files\\Adaptec Shared\\System; C:\\apps\\orant\\bin' When I do the same thing in my handler (nothing in startup.pl), the first request generates this error log message: [Wed Oct 30 17:15:00 2002] [error] install_driver(Oracle) failed: Can't load 'C:/Perl/site/lib/auto/DBD/Oracle/Oracle.dll' for module DBD::Oracle: load_file:The specified module could not be found at C:/Perl/lib/DynaLoader.pm line 206. Compilation failed in require at (eval 14) line 3. Perhaps a required shared library or dll isn't installed where expected and all subsequent requests generate these error log messages: Use of inherited AUTOLOAD for non-method DBD::Oracle::ORA_OCI() is deprecated at C:/Perl/site/lib/DBD/Oracle.pm line 48. [Wed Oct 30 17:16:21 2002] [error] DBD::Oracle initialisation failed: Can't locate auto/DBD/Oracle/ORA_OCI.al in @INC (@INC contains: C:/Perl/lib C:/Perl/site/lib c:/apache/ c:/apache/lib/perl) at C:/Perl/site/lib/DBD/Oracle.pm line 48 I've verified that the PATH in my handler matches what I see at the prompt, and I know Oracle.dll exists. Occasionally (but not consistently) Apache.exe will pop up an error dialog saying it couldn't find OCI.dll or OCIW32.dll in my PATH, but the PATH it shows me in that dialog includes C:\apps\orant\bin and those DLLs are in there. Any help appreciated! Thanks! Larry Leszczynski [EMAIL PROTECTED]