sqlserver数据导入mysql七: 对mysql和sqlsever同一张表中的数据进行统计对比

sqlserver数据导入mysql七: 对mysql和sqlsever同一张表中的数据进行统计对比,第1张

概述#!/usr/bin/perluse Encode;use Encode::CN;use DBI;use Switch;use strict;use Net::HandlerSocket;use threads;use Time::HiRes 'time';my $source_name = "sqldb";my $source_user_name = "sa";my
#!/usr/bin/perluse Encode;use Encode::CN;use DBI;use Switch;use strict;use Net::HandlerSocket;use threads;use Time::HiRes 'time';my $source_name = "sqldb";my $source_user_name = "sa";my $source_user_psd = "123";my $aim_ip="192.168.0.208";my $aim_db_name = "MysqLdb";my $port="3306";my $db_user="zoe";	my $db_pass="123";my $dbh=DBI->connect("dbi:ODBC:$source_name",$source_user_name,$source_user_psd); # my $sth=$dbh->prepare("select name,object_ID from sys.all_objects ao where type='U' and not exists(# select 1 from  sys.all_columns col where col.object_ID=ao.object_ID and system_type_ID=240)");my $sth=$dbh->prepare("select name,object_ID from sys.all_objects where type='U' and is_ms_shipped=0 and name <>'sysdiagrams'"); $sth->execute();print "请输入数字确认查找第几份表的数量"; my $var=0;$var=<STDIN>; chop ($var); my $readtxtname="alltablename_ok_"."$var"."\.txt";my $outtxtname="alltablename_count_"."$var"."\.txt";my $data_str;my @a;open IN,"<","$readtxtname" or dIE "IN: $!"; while (<IN>) {    chomp;     if(defined($_ ))  { push @a,$_;   } }close IN;  my @data;my %pos;my $index= 0;map {$pos{$_}=$index++}@a; while (@data=$sth->fetchrow_array()) { print "$data[0]\n";if(exists$pos{$data[0]}){print "yes\n";my $count=@a[$pos{$data[0]}+1];print "索引:$pos{$data[0]}\n";print "表名:@a[$pos{$data[0]}]\n";print "sql原数量:$count\n";my $countrelt = count($data[0],$count,$data[1]);	}else{print "no\n";}  }  sub count	 {	my ($table_name,$table_count_fre,$table_ID)=@_;	    my $dbh2=DBI->connect("dbi:ODBC:$source_name",$source_user_psd);         my $sth_sc=$dbh2->prepare("select count(1) from $table_name");         $sth_sc->execute();          my @data_count=$sth_sc->fetchrow_array();		  my $sqlcount=@data_count[0];              $sth_sc->finish;			   $dbh2->disconnect;		print "sql数量:$sqlcount\n"; 			   		  	my $data_base = "DBI:MysqL:$aim_db_name:$aim_ip:$port";	my $dbhMysqL=DBI -> connect($data_base,$db_user,$db_pass);	$dbhMysqL->do("SET character_set_clIEnt = 'utf8'");   $dbhMysqL->do("SET character_set_connection = 'utf8'");		  my $MysqL="select count(*) from $aim_db_name\.$table_name";    #print "执行语句$MysqL\n";	my $MysqLsth=$dbhMysqL->prepare($MysqL);		$MysqLsth->execute() or dIE "ERROR::$_[0]::$MysqLsth->errstr";		     my @data_count1=$MysqLsth->fetchrow_array();		 	my	$MysqLcount=@data_count1[0];	$MysqLsth->finish;	$dbhMysqL->disconnect;		print "MysqL数量:$MysqLcount\n"; 			$data_str="$table_name\t $table_ID\tMysqL数量:$MysqLcount\tsql原数量:$table_count_fre\tsql现数量:$sqlcount\t\n";		open(file,">>$outtxtname");  syswrite(file,"$data_str");  close(file); 		print $data_str;  	 	 }
总结

以上是内存溢出为你收集整理的sqlserver数据导入mysql七: 对mysql和sqlsever同一张表中的数据进行统计对比全部内容,希望文章能够帮你解决sqlserver数据导入mysql七: 对mysql和sqlsever同一张表中的数据进行统计对比所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1170222.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存