perl unload utf-8 oracle Wide character in print at unload_oracle.pl line 105.
来源:互联网 发布:能过淘宝账号查一个人 编辑:程序博客网 时间:2024/06/04 18:27
#!/usr/bin/perl use DBI;use Encode;my $dbName = 'oadb';my $dbUser = 'vxspace';my $dbUserPass = 'xxx';my $dbh = DBI->connect("dbi:Oracle:$dbName", $dbUser, $dbUserPass) or die "can't connect to database ";my $table_name= "$ARGV[0]"; my $hostSql = qq{select COLUMN_NAME from dba_tab_columns where table_name='$table_name'};my $UNLOAD_SRC_DBCONN = DBI->connect("DBI:Oracle:".$dbName,$dbUser,$dbUserPass) or die("DB connect error!n");my $DW_DATA_DT ="";my $datafile="$table_name.TXT";use HTTP::Date qw(time2iso str2time time2iso time2isoz);my @lstRlst;my ($COLUMN_NAME);my $selStmt = $dbh->prepare($hostSql);$selStmt->bind_columns(undef, \$COLUMN_NAME);$selStmt->execute();while( $selStmt->fetch() ){ print "$COLUMN_NAME\n";push (@lstRlst1 ,$COLUMN_NAME); } $selStmt->finish; $dbh->disconnect;my @lstRlst = reverse (@lstRlst1);###########################################=================全局变量区==========================#if ($#ARGV <0){ print "请输入一个表名参数"; exit(-1); }sub printlog{ my ($LogInfo)= @_; my $CurrTime = time2iso(time()); # 当前时间 if(!defined($LogInfo) ){$LogInfo="";} my $StrLog="【${CurrTime}】 \t ${LogInfo} \n"; print $StrLog; #print LOGFILE $StrLog; } my $exportOracleSql="SELECT "; #数据导出的sqlfor (my $m=0;$m<@lstRlst + 0 ;$m++){ if ($m != @lstRlst + 0 - 1){ $exportOracleSql = "$exportOracleSql trim($lstRlst[$m])".", "}else{$exportOracleSql = "$exportOracleSql trim($lstRlst[$m])"}print "$exportOracleSql\n";}my $exportOracleSql="$exportOracleSql from $dbUser.$table_name";sub Exportdata{ printlog "开始导出数据!"; my $exportsql=$exportOracleSql; if($exportsql eq "error"){ return -1; } my $format_sql="alter session set nls_date_format='yyyy-mm-dd'"; my $stmt=$UNLOAD_SRC_DBCONN->prepare($format_sql); unless ($stmt){printlog "\n执行prepare SQL语句出错:\n";printlog $DBI::errstr; return -1;}$stmt->execute;if ($UNLOAD_SRC_DBCONN->err) {printlog "\n执行SQL语句出错:\n"; printlog $DBI::errstr;return -1;} $stmt=$UNLOAD_SRC_DBCONN->prepare($exportsql); unless ($stmt){printlog "\n执行prepare SQL语句出错:\n";printlog $DBI::errstr;return -1;} $stmt->execute;if ($UNLOAD_SRC_DBCONN->err) {printlog "\n执行SQL语句出错:\n"; printlog $DBI::errstr;return -1;} my $row=0; my $size=0; my $curtime; my $writeflagsql; my $tmpstr=""; $row=0; my $m=0; open(DATAFILE,">", $datafile) || die (print "Open DATA file failed!!!\n"); while(my $Rows = $stmt->fetchrow_arrayref){ $m=0; $tmpstr=""; foreach(@$Rows){ $tmpstr=$tmpstr.$Rows->[$m]."|"; $m++; } #print DATAFILE encode_utf8($tmpstr.$DW_DATA_DT)."\n"; print DATAFILE $tmpstr.$DW_DATA_DT."\n"; $row++; if(($row%10000) == 0){ printlog "已导出数据$row条!"; } } $stmt->finish; #print FLAGFILE $datafile,"\n"; #print FLAGFILE $row,"\n"; close(DATAFILE); # close(FLAGFILE); $curtime=time2iso(time()); printlog "数据已成功导出!"; printlog "一共导出数据${row}条"; return 1;}ExportdataWide character in print at unload_oracle.pl line 105.Wide character in print at unload_oracle.pl line 105.Wide character in print at unload_oracle.pl line 105.【2016-11-17 19:02:25】 数据已成功导出! 【2016-11-17 19:02:25】 一共导出数据3726条 需要encode_utf8($tmpstr.$DW_DATA_DT)."\n";
0 0
- perl unload utf-8 oracle Wide character in print at unload_oracle.pl line 105.
- Wide character in print at hcp.pl line 21.
- Wide character in print at check_cert.pl line 18.
- 为什么出现Wide character in print at a14.pl line 41
- Wide character in print at ../lib/MonWalkProc.pm line 569.
- [perl]Wide character in print
- Perl Wide character in print问题解决
- [perl]解决Wide character in print报错
- 【 Perl 】三种方式解决” Wide character in print “
- perl unload utf-8 oracle 数据库
- Wide character in print 报错
- use utf8 gives me 'Wide character in print'
- perl unload oracle gbk
- perl unload gbk oracle 数据库
- perl unload Oracle utf8 数据库
- perl unload mysql utf-8字符集 需要设置$dbh->do("SET NAMES utf8");
- MongoChef malformed UTF-8 character sequence at offset 89
- Use of uninitialized value in concatenation (.) or string at test.pl line 232
- Spring Boot 2.0.0参考手册_中英文对照_Part IV_23
- PAT乙级(C/C++)1011-1015
- 移植uboot201609到qq2440
- LintCode:超级丑数
- 在Ubuntu下解压.zip文件发现中文乱码问题
- perl unload utf-8 oracle Wide character in print at unload_oracle.pl line 105.
- [Leetcode] String to Integer (atoi) 字符串转整数
- linux文件类型与扩展名
- 哈理工OJ 1248 The kth great number(平衡树求第k大数)
- 【XML】XML的基本使用(增删改查)
- 微信企业号OAuth2接口40029错误解决方案
- 【Android开发经验】比Gson解析速度快10倍!——Json解析神器Jackson使用介绍
- Spring Boot 2.0.0参考手册_中文版_Part IV_23
- 通信录作业,在链表中的结构体数组有点多此一举了