This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Re: Exim, .forward and DBD::Oracle
Igor Pechtchanski <pechtcha at cs dot nyu dot edu> writes:
> On Mon, 14 Apr 2003, Greg Matheson wrote:
>
>> On Sun, 13 Apr 2003, Dmitry Melekhov wrote:
>>
>> > Another problem is with perl in cygwin. On Linux I can set
>> > $ENV{PATH} and $ENV{ORACLE_HOME} inside perl script, but in
>> > cygwin I had to write shell script to call perl script:
>> Does it work in Linux if you DON'T set $ENV{PATH} and
>> $ENV{ORACLE_HOME} inside your program? Are you sure they are not
>> set elsewhere in your environment?
> You know, Greg, I think you may have gotten it. Is it possible that
> Perl interprets the "use" statements before the rest of the code,
> and the DBI module tries to load the appropriate DLL in its
> initialization? Any code that sets the environment variables will
> not have been executed at that point.
Something is really different on Linux and CYGWIN. For example here I
am using an ORACLE_HOME that really don't exist:
,----[ Cygwin ]
| $ ORACLE_HOME=abc TWO_TASK=first ./dbi-test.pl
| Could not connect to first,
| (UNKNOWN OCI STATUS 1804) OCIInitialize. Check ORACLE_HOME and NLS
| settings etc. at ./dbi-test.pl line 14.
`----
,----[ GNU/Linux ]
| $ ORACLE_HOME=abc TWO_TASK=first ./dbi-test.pl
| SMITH
| ALLEN
| WARD
| ...
`----
On Cygwin it fails and under Linux it works !!! It looks that the
Linux DBD::Oracle module use an additional fallback method. If
ORACLE_HOME is not valid then it tries again with the ORACLE_HOME
variable at compile time. Under CYGWIN this might not work because of
the DOS Syntax of the ORACLE_HOME (h:/usr/oracle/9.2.0). I am using on
both systems perl-5.8.0 and DBD-Oracle-1.12.
Harald
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/