sto ottenendo il seguente errore durante la connessione a un database Oracle 11g utilizzando un semplice script Perl:Perché il DBI di Perl si lamenta di "errore: ERRORE OCIEnvNlsCreate" quando provo a connettermi a Oracle 11g?
failed: ERROR OCIEnvNlsCreate. Check ORACLE_HOME (Linux) env var or PATH (Windows) and or NLS settings, permissions, etc. at
Lo script è il seguente:
#!/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();
}
Chiunque visto questo problema prima?
John, quando lo risolvi, ricorda di tornare qui e "accettare" la tua risposta preferita. Se devi modificare qualcosa per il tuo ambiente, puoi anche pubblicare la soluzione * that * e accettarla, quindi "up-vote" le risposte che ti hanno aiutato ad arrivarci. Questo andrà a ritirare correttamente la domanda per gli archivi SO. – Prune