perl unload oracle gbk
来源:互联网 发布:linux服务器优点 编辑:程序博客网 时间:2024/06/05 14:29
[oracle@PD scan]$ echo $LANGzh_CNgbk 环境:[oracle@PD scan]$ cat unload_oracle.pl #!/usr/bin/perl use DBI;my $dbName = 'pd';my $dbUser = 'iufo';my $dbUserPass = 'podinndb_88';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 @lstRlst1;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 $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;}Exportdata
0 0
- perl unload oracle gbk
- perl unload gbk oracle 数据库
- perl unload Oracle utf8 数据库
- perl unload utf-8 oracle 数据库
- perl编写unload脚本
- Mysql Perl unload表数据
- perl dbi unload utf8脚本
- perl unload utf-8 oracle Wide character in print at unload_oracle.pl line 105.
- python unload oracle
- UNLOAD
- perl utf8 转gbk
- oracle中的导出数据操作(类比informix的unload)
- perl lwp get uft-8和gbk
- perl unload mysql utf-8字符集 需要设置$dbh->do("SET NAMES utf8");
- informix-unload
- Assembly.Unload
- oracle utf8字符集转gbk
- perl链接Oracle数据库
- DOM 位置大小操作
- 今日头条 面试题一例
- angular中controller在不同场景下的状态
- 掩码学习笔记(不断更新)
- Spark学习笔记(一)
- perl unload oracle gbk
- Linux--多线程拷贝文件案例及其传参说明
- 最小栈
- 排队买票(歌)
- ElasticSearch性能调优
- leetcode283~Move Zeroes
- Quartz+JAVA+Servlet实现任务调度系统(简洁)
- 洛谷 P1144 最短路计数
- leetcode382 Linked List Random Node java