我正在尝试与数据库建立sql连接并执行select查询。
我的限制是我的测试用例在一台我没有sqlplus的机器上,我必须在安装了sqlplus的另一台机器上执行它。
my $cmd = "export ORACLE_HOME=\"/u01/database/idmdb/\";export ORACLE_SID=\"OIMDB\";$sqlpluscmd <<EOF";
#select VERSION from schema_Version_registry where COMP_ID='IAU';
#exit;
#EOF";
print "cmd=$cmd\n";
my $rtValue=undef;
my $user_name="aime";
my $host_name="slc06vno.us.oracle.com";
if ($cmd =~ /run_as_root/) {
$rtValue= `ssh -x $user_name\@$host_name $cmd`;
}else{
$rtValue= `ssh -x $user_name\@$host_name 'sh -lc \"$cmd\"' `;
}
它工作正常,连接已建立,但如果我取消注释选择查询,我会收到错误:
cmd=/u01/database/idmdb/bin/sqlplus -LOGON FA_OIM/Fusionapps1@OIMDB <<EOF
select VERSION from schema_Version_registry where COMP_ID='IAU';
exit;
EOF
Unmatched ".
select: Command not found.
Unmatched ".
rtValue=