使用perl脚本将日志导出到Oracle SQL“更新”脚本的文本文件中

时间:2017-10-06 06:38:05

标签: sql database oracle perl

我编写了一个perl脚本,它连接到Oracle数据库并更新数据。 perl脚本的执行和与数据库的连接工作正常。

但是,我想将更新数据的日志导出到临时文本文件中。请提出解决方案。以下是我的代码,

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

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

# Database Connection
my $dbh = DBI->connect($dsn, $userid, $password,{RaiseError => 1}) or die "Can't connect to the Database: $DBI::errstr";
my $sth = $dbh->prepare("UPDATE XXXX SET ABCD=1233 WHERE LOGIN BETWEEN SYSDATE-24*30 and SYSDATE-12*30") or die "$DBI::errstr";

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

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

1 个答案:

答案 0 :(得分:0)

我建议更换

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

通过

unless ( $sth->execute() ) {
    open LOGFILE, ">>", /tmp/logs/perl.log or die "Could not open logfile\n";              
    print LOGFILE $ora->errstr;
    close LOGFILE; 
    die "couldn't execute statementn$!";
 }