Try to add to apache config something like that:

SetEnv ORACLE_HOME /path/to/your/oracle/home

That way You surely have the environment variable set for Your CGI script.
It helped in my case.

Reg's
Oleg

> -----Original Message-----
> From: eddie iannuccelli [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, September 06, 2001 3:05 PM
> To: [EMAIL PROTECTED]
> Subject: Oracle DBI connection working in command line but not in CGI
>
>
> Hi,
>
> I have already saw similar questions but I think my pb is a
> bit different.
> I wrote a perl script that use an oracle 9i DB throug DBI DBD::Oracle.
> This script work fine when started from command line but fail when
> launched by apache with
> the folowing error (from the apache error log) :
> --------------------------------------------------------------
> -----------------------------------------------------------
> [Thu Sep  6 08:42:55 2001] lot.cgi: ORACLE_HOME environment
> variable not
> set!
> [Thu Sep  6 08:42:55 2001] lot.cgi:
> DBI->connect(host=eddiegc;sid=carto)
> failed: (UNKNOWN OCI STATUS 1804) OCIInitialize. Check
> ORACLE_HOME and
> NLS settings etc. at Utilitaires.pm line 108
> [Thu Sep  6 08:42:55 2001] lot.cgi: Probleme de connexion a la base:
> (UNKNOWN OCI STATUS 1804) OCIInitialize. Check ORACLE_HOME and NLS
> settings etc.
> --------------------------------------------------------------
> -----------------------------------------------------------
> I don't understand what happen since the script work fine
> under apache
> user session, nobody user session and root user session
> (httpd process
> is running under apache account). In other words, everybody can start
> that script except apache through the browser !
>
> SQL*PLUS works too for all accounts but DBISH does not connect if I
> choose one of the DSN or type a full DSN, here is dbish error :
> --------------------------------------------------------------
> -----------------------------------------------------------
> ORA-01004: default username feature not supported; logon denied (DBD
> ERROR: OCISessionBegin)
> --------------------------------------------------------------
> -----------------------------------------------------------
> It seems that oracle env variables are OK for interactive
> connections,
> so I tested them in a sh cgi script call. The resutl is
> surprising : a
> exec 'env' call in a cgi script return the apache env vars
> (httpuseragent, querystring, etc ....), no trace of system
> variables !!!
>
> Help !!
>
> My config :Linux Mandrake 8.0, ORACLE 9i
> andApache-AdvancedExtranetServer/1.3.1,
> --
> **************************************************
> Eddie IANNUCCELLI - tel: 05 61 28 54 44
> INRA, Laboratoire de G�n�tique Cellulaire
> Chemin de Borde Rouge - Auzeville -BP27
> 31326 Castanet Tolosan
> **************************************************
>
>
>
>

Reply via email to