1
我編寫了一個perl腳本,它連接到Oracle數據庫並更新數據。 perl腳本和連接到數據庫的執行工作正常。使用perl腳本將日誌導出到Oracle SQL「更新」腳本的文本文件中
但是,我想導出更新數據的日誌到一個臨時文本文件。請提出解決方案。下面是我的代碼,
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();
我已經取代瞭如上建議,除非'($ sth->的execute()){ ' '打開(LOGFILE,'>>','perl.log')或死「無法打開日誌文件\ n」;' '打印LOGFILE $ ora-> errstr;' '關閉LOGFILE;' '死「無法執行聲明n $!「;'但文件沒有被生成。因爲我覺得數據沒有被輸入到文件中。 – Avinash
也許對'$ dbh-> prepare'做同樣的事情 –