当我们面对 数百万数千万行列的数据库表的时候,而你又希望能将数据尽快的导出成txt给你的老板,有软件或者其他东西导出来就显得比较郁闷了,因为老板要吃午饭了,他可不希望在下班的时候还听到你在说,数据正在导出中。
于是我们利用了,速度转入正题了啊。
需要的模块:
DBI;
#!/usr/bin/perl
use DBI;
$dbname="数据库服务名称";
$user="用户";
$passwd="密码";
open IN,">目的文件.txt"or die "$!";
my $dbh = DBI->connect("dbi:Oracle:$dbname",$user,$passwd) or die "can't connect to
database ". DBI-errstr;
my $sth = $dbh->prepare("select * from wl_cp_name"); #用sql语句写出你想要的数据
$sth->execute();
while (my @ref = $sth->fetchrow_array()){
chomp (@ref);
my $file_data = join "/t", @ref; #以制表符来分割最后导出来的数据
print IN $file_data."/n" #导入目的文件
}
print "已经跑完了/n";
$sth->finish();
$dbh->disconnect();
close IN;
OK了,程序就是这么简单,给了一个接口以后,perl就可以尽情的抓取数据了,放心吧,你的老板还没来的及把凳子坐热乎,你就可以把数据给他了,让他就对付这重量级的数据吧。呵