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


Reply via email to