BIG Problems after installing Oracle Discoverer
am 14.03.2007 20:30:29 von Mike.Ready
------_=_NextPart_001_01C7666E.E638A026
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Hello
I have been running Perl 5.8 w/ DBI and DBD-Oracle for years. I
recently installed Oracle Discoverer on my Windows XP box, and it has
totally hosed my ability to connect to any of the DBs through perl. I
have gone so far as to uninstall Oracle Business Intelligence
(Discoverer), and to uninstall and reinstall Perl 5.8.8, DBI 1.54, and
DBD-Oracle 1.17. I cannot figure out how to get my connectivity back.
The following script (logon parms starred out):
=20
use DBI;
# magic line required for TIERS database access
$ENV{NLS_LANG}=3D 'AMERICAN_AMERICA.AL32UTF8';
$ENV{ORACLE_HOME} =3D "c:\\oracle\\ora92";
print "$ENV{ORACLE_HOME}\n";
=20
# user ID, password, DB (to be removed to environment if program
productionalized)
($db, $uid, $pwd) =3D ('*****','******','******');
my %attr =3D (RaiseError =3D> 0, AutoCommit =3D>1);
=20
if (!($dbh =3D DBI->connect("DBI:Oracle:$db","$uid","$pwd",
\%attr))) {
die("DB Connection failure for $uid/$pwd\@$db.");}
=20
$sql =3D qq{SELECT SYSDATE FROM DUAL};
=20
if (!($sth =3D $dbh->prepare($sql))) {die ("Can't prepare
$sql\n");}
=20
if (!($sth->execute())){
die("Can't execute sysdate select statement.");
}
=20
$mydate =3D $sth->fetchrow();
=20
print "SYSDATE =3D $mydate\n";
=20
exit;
=09
gives the following error (logon parms starred out):
=20
C:\Documents and Settings\mike.ready\My Documents\Scripts>perl
ConnectFailing.pl
=20
c:\oracle\ora92
DBI connect('*****','******',...) failed: ERROR
OCINlsEnvironmentVariableGet
(OCI_NLS_CHARSET_ID) Check ORACLE_HOME and NLS settings etc. at
ConnectFailing.p
l line 11
DB Connection failure for ******/******@*****. at
ConnectFailing.pl line
12.
=20
ORACLE_HOME matches the ORACLE_HOME parameter seen by TOAD; Oracle Home
Selector tells me I have only one Oracle home. One possible clue: when
I uninstalled Perl, I was unable to get rid of C:\Perl\bin\oci.dll - the
system claimed it was in use, even after a reboot. I am flummoxed at
this point, and am running reports on one of my analysts' PC. Help!
=20
Thanks,
Mike R.
Michael P. Ready
Texas ACCESS Alliance
Work 512-533-3959, Mobile 512-796-7085, Fax 512-437-6532
AIM: michaelpready
mike.ready@txaccess.com
------_=_NextPart_001_01C7666E.E638A026--
RE: BIG Problems after installing Oracle Discoverer
am 17.03.2007 15:17:04 von byterock
Hard to say for sure but it looks like Oracle Discoverer reset some of the
envionmnet varialbles or loaded a newer version of Oracle Client and or
removed some part of the client which somehow crunched your DBD::Oracle or
it has movered the TNS names or alike
one thing you cn do for me is tack this on the end of your connection string
or die "DBDError= $DBI::errstr\n"
or add $DBI::errstr into your error code
So we can see the exact error message Oracle is sending you
That being said and udging form the error you may just have to do this
Set the NLS_LANG=.WE8ISO8859P15 in the path.
If this faills I would try geting the latest version of DBD::Oracle and
recompile iit from sctatch there are detailed instrucntions in the
README.win32.txt file
You might have to give the instant client a try as well. Remember you have
to place your TNSNAMES file in a directory under the instant client linke
this "instantclient/network/admin/"
I
Cheers and hope this helps
>To:
>Subject: BIG Problems after installing Oracle Discoverer
>Date: Wed, 14 Mar 2007 15:30:29 -0400
>
>Hello
>I have been running Perl 5.8 w/ DBI and DBD-Oracle for years. I
>recently installed Oracle Discoverer on my Windows XP box, and it has
>totally hosed my ability to connect to any of the DBs through perl. I
>have gone so far as to uninstall Oracle Business Intelligence
>(Discoverer), and to uninstall and reinstall Perl 5.8.8, DBI 1.54, and
>DBD-Oracle 1.17. I cannot figure out how to get my connectivity back.
>The following script (logon parms starred out):
>
>
> use DBI;
> # magic line required for TIERS database access
> $ENV{NLS_LANG}= 'AMERICAN_AMERICA.AL32UTF8';
> $ENV{ORACLE_HOME} = "c:\\oracle\\ora92";
> print "$ENV{ORACLE_HOME}\n";
>
> # user ID, password, DB (to be removed to environment if program
>productionalized)
> ($db, $uid, $pwd) = ('*****','******','******');
> my %attr = (RaiseError => 0, AutoCommit =>1);
>
> if (!($dbh = DBI->connect("DBI:Oracle:$db","$uid","$pwd",
>\%attr))) {
> die("DB Connection failure for $uid/$pwd\@$db.");}
>
> $sql = qq{SELECT SYSDATE FROM DUAL};
>
> if (!($sth = $dbh->prepare($sql))) {die ("Can't prepare
>$sql\n");}
>
> if (!($sth->execute())){
> die("Can't execute sysdate select statement.");
> }
>
> $mydate = $sth->fetchrow();
>
> print "SYSDATE = $mydate\n";
>
> exit;
>
>
>gives the following error (logon parms starred out):
>
>
> C:\Documents and Settings\mike.ready\My Documents\Scripts>perl
>ConnectFailing.pl
>
> c:\oracle\ora92
> DBI connect('*****','******',...) failed: ERROR
>OCINlsEnvironmentVariableGet
> (OCI_NLS_CHARSET_ID) Check ORACLE_HOME and NLS settings etc. at
>ConnectFailing.p
> l line 11
> DB Connection failure for ******/******@*****. at
>ConnectFailing.pl line
> 12.
>
>
>ORACLE_HOME matches the ORACLE_HOME parameter seen by TOAD; Oracle Home
>Selector tells me I have only one Oracle home. One possible clue: when
>I uninstalled Perl, I was unable to get rid of C:\Perl\bin\oci.dll - the
>system claimed it was in use, even after a reboot. I am flummoxed at
>this point, and am running reports on one of my analysts' PC. Help!
>
>Thanks,
>Mike R.
>Michael P. Ready
>Texas ACCESS Alliance
>Work 512-533-3959, Mobile 512-796-7085, Fax 512-437-6532
>AIM: michaelpready
>mike.ready@txaccess.com
____________________________________________________________ _____
Take A Break From The Cold And Have Some Fun Indoors
http://local.live.com/?mkt=en-ca/?v=2&cid=A6D6BDB4586E357F!1 42