Warum Perl-DBI beschweren sich über "fehlgeschlagen: FEHLER OCIEnvNlsCreate" wenn ich versuche eine Verbindung zu Oracle 11g?

Bin ich immer den folgenden Fehler beim herstellen einer Verbindung zu einer Oracle 11g-Datenbank mit einem einfachen Perl-Skript:

 failed: ERROR OCIEnvNlsCreate. Check ORACLE_HOME (Linux) env var  or PATH (Windows) and or NLS settings, permissions, etc. at

Das Skript ist wie folgt:

#!/usr/local/bin/perl

use strict;
use DBI;

if ($#ARGV < 3) {
print "Usage: perl testDbAccess.pl dataBaseUser dataBasePassword SID dataBasePort\n";
exit 0;
}
my ($user, $pwd, $sid, $port) = @ARGV;

my $host = `hostname`;
my $dbh;
my $sth;
my $dbname = "dbi:Oracle:HOST=$host;SID=$sid;PORT=$port";

openDbConnection();
closeDbConnection();

sub openDbConnection() {
        $dbh = DBI->connect ($dbname, $user ,$pwd , { RaiseError => 1}) || die "Database connection not made: $DBI::errstr";
}

sub closeDbConnection() {
        #$sth->finish();
        $dbh->disconnect();
}

Jemand dieses problem gesehen?

John, wenn Sie dieses Problem behoben haben, bitte denken Sie daran, wieder hierher kommen und "übernehmen" Sie Ihre Lieblings-Antwort. Wenn Sie ändern müssen, um etwas für Ihre Umwelt, können Sie sogar posten Sie das - Lösung und übernehmen Sie es, und dann "up-vote" die Antworten, die geholfen, die Sie dort bekommen. Diese werden ordnungsgemäß in den Ruhestand die Frage nach dem SO-Archive.

InformationsquelleAutor John | 2010-05-26

Schreibe einen Kommentar