加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

当我尝试连接到Oracle 11g时,为什么Perl的DBI会抱怨“失败:错误

发布时间:2020-12-12 13:15:43 所属栏目:百科 来源:网络整理
导读:我使用简单的Perl脚本连接到Oracle 11g数据库时出现以下错误: failed: ERROR OCIEnvNlsCreate. Check ORACLE_HOME (Linux) env var or PATH (Windows) and or NLS settings,permissions,etc. at 脚本如下: #!/usr/local/bin/perluse strict;use DBI;if ($#
我使用简单的Perl脚本连接到Oracle 11g数据库时出现以下错误:

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

脚本如下:

#!/usr/local/bin/perl

use strict;
use DBI;

if ($#ARGV < 3) {
print "Usage: perl testDbAccess.pl dataBaseUser dataBasePassword SID dataBasePortn";
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,{ RaiseError => 1}) || die "Database connection not made: $DBI::errstr";
}

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

以前有人见过这个问题吗?

解决方法

检查Oracle客户端配置(包括,如消息所示,ORACLE_HOME),检查文件权限等.DBI本身不太可能与问题有关,我知道DBD :: Oracle与之兼容的事实11g库(至少11g InstantClient).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读