Re: ANNOUNCE: DBD::Oracle 1.17 *RELEASE CANDIDATE* RC6
- From: "makaio" <gmakaio@xxxxxxxxx>
- Date: 31 Jan 2006 01:53:42 -0800
Tim,
Thank you for the great Perl module! However, I have been banging my
head against a frustrating wall this weekend trying to understand why I
can't get DBD::Oracle to work with the instant client from a CGI
script. BTW, your new version does compile much easier! It made my
day today to see the v1.17rc6 released today.
Database 10.1.0.3.0 CHAR set is WE8ISO8859P1 (Non-Unicode), NCHAR set
is AL16UTF16 (Unicode)
Client 10.2.0.1 NLS_LANG is '.WE8ISO8859P1', NLS_NCHAR is '<unset>'
So, I am using Fedora Core 3 with Apache 2.0.52 and Perl v5.8.6. I
successfully built both DBI v1.50 and DBD::Oracle v1.17 against the
Oracle instant client v10.2.0.1 installed as rpms and running ldconfig
on the Oracle librarys (so that LD_LIBRARY_PATH does not need to be
set).
I verified that all of these installation files have correct
permissions. I wrote a test cgi script that connects to our DB that
works just fine as the apache user without setting any environment
variables by stating the connection settings explicitly and running the
script with 'env -i'.
However, when I execute the cgi script from my web server, I get the
following error:
DBI connect('host=test-db0;sid=dev;port=1521','adm',...) failed: ERROR
OCIEnvNlsCreate. Check ORACLE_HOME env var, NLS settings, permissions,
etc.
All of the suggestions I have seen on the web basically boil down to
permissions and the environment, but I am sure that this is not (at
least in an obvious way) the problem. If the apache user can connect
with 'env -i' from the command line then apache should be able to
execute the cgi correctly via the web server.
But, I did find a way to make it work. I had to set the ORACLE_HOME
env var to a path containing the following files:
|-- nls
| `-- data
| |-- lx00001.nlb
| |-- lx10001.nlb
| |-- lx1boot.nlb
| |-- lx20001.nlb
| |-- lx2001f.nlb
| `-- lx207d0.nlb
`-- oracore
`-- zoneinfo
`-- timezlrg.dat
It is my understanding of the Oracle instant client Shared Data
Library, that the NLS and Time Zone data should be included in the
libociei.so library. So why does httpd break this? Do you have any
idea why this is happening?
Thanks,
Matthew
Tim Bunce wrote:
> After over 14 months a new release of DBD::Oracle is almost ready.
>
> This will be a significant release for several reasons, but before the
> actual release I want to get as much test coverage as possible.
>
> The good folk on dbi-dev have already done much testing (hence this
> being the sixth release candidate). Oracle configurations are almost
> infinite in their combinations and frustrations so wider testing on
> dbi-users may well shake out some issues that haven't been dealt with.
>
> So, without further ado, here is it:
>
> http://www.data-plan.com/public/DBD-Oracle-1.17-RC6.tar.gz
>
> If it works for you (make test passes) then please just send me
> personally a short email saying so. Ideally with your Oracle client and
> server version number and characters sets. Just so I can gauge progress.
>
> Thanks you!
>
> Tim.
.
- References:
- ANNOUNCE: DBD::Oracle 1.17 *RELEASE CANDIDATE* RC6
- From: Tim Bunce
- ANNOUNCE: DBD::Oracle 1.17 *RELEASE CANDIDATE* RC6
- Prev by Date: RE: [dbi] Message from Maintainer to DBD::mysql users, developers
- Next by Date: Re: Future versions of DBI to require perl >= 5.8
- Previous by thread: ANNOUNCE: DBD::Oracle 1.17 *RELEASE CANDIDATE* RC6
- Next by thread: Re: ANNOUNCE: DBD::Oracle 1.17 *RELEASE CANDIDATE* RC6
- Index(es):
Relevant Pages
|
|