繁体   English   中英

如何使用Perl脚本连接到sqlplus

[英]how to connect to sqlplus using perl script

在Unix中,我们用于连接到sqlplus的正常过程如下

sqlplus ${user}/${password}@${server} my_file.sql >> $Logfile 2>&1

我将上述命令中的所有信息附加到日志文件$Logfile

现在在perl中,我知道如何连接到sqlplus并执行一个sql脚本,我使用了类似的方法

system("sqlplus -L ${user}/${password}@${server} my_file.sql")

但是使用system我们不能将信息发送到日志文件,它只会给出返回状态,我想像在unix中那样跟踪已执行命令的信息。有没有办法做到这一点。 请帮忙谢谢

使用DBIDBD::Oracle访问数据库要好得多,而不是花钱运行交互式工具SQL * Plus

但是,如果您坚持要创建一个单独的过程来操作数据库,那么传递给system的相同命令将获得相同的结果。

我假设您确实要在其中@符号? 像这样

system("sqlplus -L ${user}/${password}\@${server} my_file.sql >> $Logfile 2>&1")

或者您可以使用反引号:

open my ($log_fh), '>', $Logfile;

print $log_fh `sqlplus -L ${user}/${password}\@${server} my_file.sql`;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM