在执行Perl脚本,并不能设置环境变量错误

问题描述 投票:2回答:1

我执行下面的Perl脚本,

#!/usr/bin/perl

use strict;
use DBD::Oracle;
use DBI;

my $driver = "Oracle";
my $database = "host=xxxxxx;port=6210;sid=xxxx";
my $dsn = "DBI:$driver:$database";
my $userid = "xxxxx";
my $password = "xxxxx";

#Database Connection
my $dbh = DBI->connect($dsn, $userid, $password,{RaiseError => 1}) or die "$DB::errstr";
my $sth = $dbh->prepare("update collabuser set user_email='aravikum.wipro.com' where user_login='aravikum'") or die "$DBI::errstr";

$sth->execute() or die "couldn't execute statementn$!";
$sth->rows;

#End of Program
$sth->finish();
$dbh->disconnect();

我得到了以下错误:

Can't load '/usr/local/lib64/perl5/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: libocci.so.11.1: cannot open shared object file: No such file or directory at /usr/lib64/perl5/DynaLoader.pm line 190.
 at perlupdt.pl line 11.
Compilation failed in require at perlupdt.pl line 11.
BEGIN failed--compilation aborted at perlupdt.pl line 11.

在谷歌上搜索,我得到了像运行解决了该问题下面的导出命令答案。所以,我执行,它工作得很好,

export ORACLE_HOME=/usr/lib/oracle/11.2/client64
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib:$LD_LIBRARY_PATH
export PATH=/usr/lib/oracle/11.2/client64/bin:$PATH

但是,我不能执行上述命令每一次当我登录到腻子,

我决定把这个出口里面的脚本,以便增加这些在脚本的开始,

$ENV{"ORACLE_HOME"} = '/usr/lib/oracle/11.2/client64';
$ENV{"LD_LIBRARY_PATH"} = '/usr/lib/oracle/11.2/client64/lib:$LD_LIBRARY_PATH';
$ENV{"PATH"} = '/usr/lib/oracle/11.2/client64/bin:$PATH';

但我收到上述错误,请提出一个解决方案导入我的perl脚本里面这些命令。

sql oracle perl dbi
1个回答
1
投票

在etc / profile文件和ETC / .bashrc中设置上述导出命令并添加作为下一个等sh文件后/的profile.d固定的问题。

© www.soinside.com 2019 - 2024. All rights reserved.