Re: OCIEnvNlsCreate error with DBD::Oracle 1.21 and Oracle 10g clientin Cygwin

Re: OCIEnvNlsCreate error with DBD::Oracle 1.21 and Oracle 10g clientin Cygwin

am 24.04.2008 09:38:12 von christian.merz

Hello Dunston,

did you read
perldoc DBI
and
perldoc DBD::Oracle

? To detect if DBI is able to locate DBD::Oracle use:
@driver_names = DBI->available_drivers;

If so, you can idenitfy your oracle Instances via:
@data_sources = DBI->data_sources($driver_name, \%attr);

You may try:
use DBI;
print "available_drivers:\n";
print "$_\n" foreach DBI->available_drivers;
print "\ndata_sources:\n";
print "$_\n" foreach DBI->data_sources('Oracle');

The output of the latter may be used for the connect statement.

cu, Christian


Dunston Rocks schrieb:
> Hi
> I have updated my system per your instructions and also included these lines as a preamble in my test script.
>
> I have modified the security settings for every folder under ORACLE_HOME to give full read-write permissions to every user-account on this computer.
>
> However I still continue to encounter the same error.
>
> Any input on resolving the above would be helpful!
>
> Thanks
>
> ----- Original Message ----
> From: Christian Merz
> To: Dunston Rocks
> Cc: dbi-users@perl.org
> Sent: Wednesday, April 23, 2008 6:50:57 AM
> Subject: Re: OCIEnvNlsCreate error with DBD::Oracle 1.21 and Oracle 10g client in Cygwin
>
> Hello Dunston,
>
> in my test script i set:
>
> $ENV{ORACLE_SID} = "ORCL";
> $ENV{ORACLE_HOME} = "/path/to/oracle/home";
> $ENV{NLS_LANG} = "AMERICAN_AMERICA.WE8DEC";
> # or "GERMAN_GERMANY.WE8ISO8859P15";
> $ENV{ORA_NLS} = $ENV{ORACLE_HOME} . "/ocommon/nls/admin/data";
> $ENV{PATH} = $ENV{ORACLE_HOME} . "/bin:/usr/bin";
> $ENV{LD_LIBRARY_PATH} = $ENV{ORACLE_HOME} . "/lib";
>
> In Oracle10 you should replace NLS_LANG by s'thing like:
> $ENV{ORA_NLS10} = '/oracle/product/10.2.0/nls/data';
>
> cu, Christian
>
>
> Dunston Rocks schrieb:
>> Hi
>> I had posted a few days ago about facing problems installing DBD::Oracle with Oracle 10g client under Cygwin.
>> Though those were circumvented successfully, when I try to run a simple script that calls DBI->Connect, I get
>>
>> DBI connect(....) failed: ERROR OCIEnvNlsCreate. Check ORACLE_HOME env var, NLS settings, permissions, etc. at tmp.pl line 12
>> Error ERROR OCIEnvNlsCreate. Check ORACLE_HOME env var, NLS settings, permissions, etc. at tmp.pl line 12.
>>
>> ORACLE_HOME C:\oracle\product\10.2.0\client_2
>> ORACLE_SID DEVDB
>> TWO_TASK DEVDB
>> NLS_LANG WE8ISO8859P15
>>
>> I saw some earlier threads on this issue which recommended ensuring that the permissions on ORACLE_HOME/bin and ORACLE_HOME/lib are set correctly.
>> All user-accounts on this machine have "Full Control" for these directories.
>>
>> Any recommendations anyone?
>>
>> Thanks
>>
>>
>>
>>
>>
>>
>>
>> ____________________________________________________________ ________________________
>> Be a better friend, newshound, and
>> know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
>>
>
>
>
>
>
> ____________________________________________________________ ________________________
> Be a better friend, newshound, and
> know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
>