Chinaunix首页 | 论坛 | 博客
  • 博客访问: 969923
  • 博文数量: 99
  • 博客积分: 3306
  • 博客等级: 中校
  • 技术积分: 1238
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-21 10:14
文章分类

全部博文(99)

文章存档

2012年(37)

2011年(56)

2010年(6)

分类: 数据库开发技术

2011-08-18 09:57:39

要导入一批数据到数据库,使用DBI模块还是比较方便的
  1. #!/usr/bin/perl -w
  2. use DBI;
  3. use strict;
  4. my $dbh;
  5. my $INFILE=$ARGV[0];
  6. open LIST ,"<$INFILE" or die "can't open $INFILE\n";
  7. my $table="table_appinfo";
  8. $dbh=&connect();
  9. my $qurey=qq{insert into $table (ip,name,manage,dev,location) values(?,?,?,?,?) };
  10. my $sth=$dbh->prepare($qurey) || die $dbh->errstr;
  11. my $dev="lab";
  12. my $manage="namexxx";
  13. my $location='location';
  14. while(my $line=<LIST>){
  15.     my ($ip,$name)=split /\s+/,$line;
  16.     $sth->execute($ip,$name,$manage,$dev,$location);
  17.     print "insert $ip $name\n";
  18. }
  19. $dbh->disconnect();


  20. exit(0);
  21. ##############################
  22. sub connect() {
  23.     my $source=q{DBI:mysql:database=xxx;host=xx.xx.xx};
  24.     my $user="xxx";
  25.     my $passwd="xxxx";
  26.     my $dbh0=DBI->connect($source,$user,$passwd,{RaiseError=>1}) or die "connect mysql failed.";
  27.     $dbh0->do("SET character_set_client = 'gb2312'");
  28.     $dbh0->do("SET character_set_connection = 'gb2312'");
  29.     $dbh0->do("SET character_set_results= 'gb2312'"); #解决GBK编码问题
  30.     return $dbh0;
  31. }
阅读(1587) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~