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: <[email protected]>
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/[EMAIL PROTECTED]");}

        $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 ******/[EMAIL PROTECTED] 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
[EMAIL PROTECTED]

_________________________________________________________________
Take A Break From The Cold And Have Some Fun Indoors http://local.live.com/?mkt=en-ca/?v=2&cid=A6D6BDB4586E357F!142

Reply via email to