David,
The ORACLE_HOME is set in the httpd.conf with a PerlSetEnv directive.
(it appears in the extract I sent). (I've checked that is OK in the scripts by
printing out $ENV{ORACLE_HOME} )
The SID is not case sensitive (I tried some combination when I was trying to
figure out what happen) otherwise it would mean that SID are insensitive when
running the script from command line and sensitive when running from Apache !
Thanks for you help
Regards
Jerome
At 03:43 PM 29-03-00 -0500, David S . Kenzik wrote:
>The ORACLE_HOME ___environment___ variable is set where? I see no indication
>of it being set in any of your examples or config.
>
>I do see PerlSetVar setting it-- don't confuse that with the environment!
>PerlSetVar is a specific way to set variables so mod_perl can read them via
>the dir_config() method.
>
>I usually set my ORACLE_HOME inside my startup.pl so all the Apache children
>can definitely find it:
>
> $ENV{ORACLE_HOME}='/disc1/sherpa/oracle';
>
>You might also be able to use Apache's SetEnv directive, see the following
>URL for details and possible restrictions:
>
> http://www.apache.org/docs/mod/mod_env.html#setenv
>
>And finally, you should double check your case in your DSN during your
>connect(). Oracle SIDs might be case sensitive and thus not finding the
>proper SID. (I always have SIDs that are all capital letters, so I couldn't
>tell you for sure.)
>
>Hope this helps.
>
>-d.
>
> Jerome MOUREAUX said...
>
> > Hi All,
> >
> > I experience a trouble with Perl script using DBI running under Mod_perl
> > and Registry
> > If you have an idea from where the problem may come....
> >
> > Here is the error :
> >
> > DBI->connect failed: ORA-12154: TNS:could not resolve service name (DBD:
> > login f
> > ailed) at /disc1/sherpa_a/indicators2/perl/activity/toto.pl line 5
> > [Wed Mar 29 20:11:32 2000] [error] ORA-12154: TNS:could not resolve
> service
> > name
> > (DBD: login failed) at
> /disc1/sherpa_a/indicators2/perl/activity/toto.pl
> > line 5
> >
> > The ORACLE_HOME is well set ! I first tried to use Apache::DBI but i get
> > this error
> > so I go back to DBI only but it's exactly the same error.
> > My scripts run well if I launch it from the command line.
> >
> > Here is extracts of my httpd.conf
> >
> > # Additionnal directory (for indicators)
> > Alias /indicators2/perl "/disc1/sherpa_a/indicators2/perl"
> > <Location /indicators2/perl>
> > SetHandler perl-script
> > PerlHandler Apache::Registry
> > PerlSendHeader On
> > Options +ExecCGI
> > </Location>
> >
> > at the end:
> >
> > PerlSetEnv ORACLE_HOME /disc1/sherpa/oracle
> > PerlRequire conf/startup.pl
> > PerlFreshRestart On
> >
> > Here is the startup.pl
> >
> > #!/usr/bin/perl
> >
> > # Commonly used modules
> > use Apache::Registry ();
> > use Apache::Constants ();
> > use CGI ();
> > #use Apache::DBI ();
> >
> > #$Apache::DBI::DEBUG=2;
> > #Apache::DBI->connect_on_init("dbi:Oracle:indicators", "indic", "xxxx",
> > { AutoCommit => 0, RaiseError => 1, PrintError => 0 } )
> > or die $DBI::errstr;
> >
> > 1;
> >
> > And finally my test file:
> >
> > #!/usr/bin/perl
> >
> > use DBI;
> >
> > my $dbh = DBI->connect( 'DBI:Oracle:INDICATORS', 'indic', xxxx',
> > { AutoCommit => 0, RaiseError => 0, PrintError => 1 } )
> > or die $DBI::errstr;
> >
> > $dbh->disconnect;
> >
> > Thanks in advance
> > Jerome
>
>--
>David S. Kenzik
>[EMAIL PROTECTED] - http://kenzik.com