- 論壇徽章:
- 0
|
本帖最后由 shaunsyb 于 2015-05-05 14:33 編輯
用Perl 將 Oracle 數(shù)據(jù)庫中 一個時間以及 clob 字段 的數(shù)據(jù)打印到文本中的時候,數(shù)據(jù)發(fā)生了串行,這個clob字段 是包含多行文本內(nèi)容的,現(xiàn)在打印出來的數(shù)據(jù)如下:
2015/03/07 07:40:03 ORA-12012: error on auto execute of job 308
ORA-01403: no data found
ORA-06512: at "TEST.PCK_TEST", line 910
ORA-06512: at "TEST.PCK_TEST", line 335
ORA-06512: at line 1
而我想要的效果是 這樣的
2015/03/07 07:40:03 ORA-12012: error on auto execute of job 308
ORA-01403: no data found
ORA-06512: at "TEST.PCK_TEST", line 910
ORA-06512: at "TEST.PCK_TEST", line 335
ORA-06512: at line 1
腳本如下:- use strict;
- use warnings;
- use DBI;
- use DBD::Oracle;
- my $profile="~/.bash_profile";
- open(NEWENV, ". $profile && env|") or die "$!";
- while (<NEWENV>){
- if (/(\w+)=(.*)/){
- $ENV{$1}="$2";
- }
- }
- close NEWENV;
- my $dbh = DBI->connect('dbi:Oracle:','/','',{ora_session_mode =>2}) or die( $DBI::errstr . "\n" );
- $dbh->{AutoCommit} = 1;
- $dbh->{LongReadLen} = 40480;
- $dbh ->do("alter session set nls_date_format='YYYY/MM/DD HH24:MI:SS'");
- my $sth=$dbh->prepare(q{select log_time,send_content from monitor_info_log});
- $sth->execute;
- my $svn_home="/home/ora10g/svn_data";
- open (SVNDATA,">","svndata.dat");
- while (my ($data1,$data2) = $sth->fetchrow_array) {
- print SVNDATA "$data1 $data2"."\n";
- }
- close SVNDATA;
- $dbh->disconnect;
復(fù)制代碼 請問下 需要怎么修改 才可以達(dá)到我需要的效果呢。 |
|