sqlserver数据导入mysql八: 把sqlserver中的存储过程注释后创建到mysql中(留着人工修改)
来源:互联网 发布:大型java web项目源码 编辑:程序博客网 时间:2024/06/04 18:59
#!/usr/bin/perluse DBI;use Switch;use Encode;use Encode::CN;my $source_name = "sqldb";my $source_user_name = "sa";my $source_user_psd = "123";my $db_name="mysqldb";my $location="192.168.0.208";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 from sys.objects where type='P'");$sth->execute();my $n=0;my $ok=0;my $sort_column="";while (@data=$sth->fetchrow_array()){#print $data[0]; print '正在查询表'.$data[0]."的存储过程\n"; my $sql_create="EXEC Sp_HelpText '$data[0]'"; my $dbh_mssql=DBI->connect("dbi:ODBC:$source_name",$source_user_name,$source_user_psd,{RaiseError =>1}); $dbh_mssql->{LongTruncOk}=1; $dbh_mssql->{LongReadLen}=1048576; my $sth_select=$dbh_mssql->prepare($sql_create); $sth_select->execute() or die 'Cannot execute: '. $sth_select->errstr(); my $select_col; my $select_data; while($select_data=$sth_select->fetchrow_array()) { $select_col.=$select_data; } do_sql($data[0],$select_col);}$sth->finish;$dbh ->disconnect; print '所有表的存储过程创建结束'."\n"; sub do_sql { print '开始创建'.$_[0].'表的存储过程'."\n"; my $sql=$_[1]; open(FILE,">>createtableallproduce.txt"); syswrite(FILE,"$n\n"); syswrite(FILE,"$data[0]\n"); syswrite(FILE,"$sql\n"); close(FILE); $sql=~s/\/\*/------注释开始--------/g; $sql=~s/\*\//------注释结束--------/g; $sql='CREATE PROCEDURE '.$_[0].'()'." \n".' BEGIN '."\n".' /* '.$sql.'*/'."\n".'END; '; my $data_base = "DBI:mysql:$db_name:$location:$port";my $dbh3=DBI -> connect($data_base,$db_user,$db_pass);$dbh3->do("SET character_set_client = 'utf8'"); $dbh3->do("SET character_set_connection = 'utf8'"); my $data_str=encode("utf-8",decode("gbk",$sql));my $sth=$dbh3->prepare($sql); open(FILE,">>myproduce.txt"); syswrite(FILE,"$n\n"); syswrite(FILE,"$data[0]\n"); syswrite(FILE,"$sql\n"); close(FILE);$sth->execute() or die "$data_str----ERROR::$data_str::$dbh3->errstr";$dbh3->disconnect; print '创建'.$_[0].'表的存储过程结束'."\n"; }
0 0
- sqlserver数据导入mysql八: 把sqlserver中的存储过程注释后创建到mysql中(留着人工修改)
- sqlserver数据导入mysql:给sqlserver中的表创建索引
- Mysql 数据 导入到 SqlServer
- 把Excel中的数据导入到Sqlserver中
- sqlserver数据导入mysql
- 详解Mysql数据导入到SQLServer数据库中
- sqlserver数据导入mysql四:给sqlserver中的表创建索引
- 将sqlserver的数据导入Mysql中
- sqlserver数据导入mysql一: 创建mysql数据库 perl脚本
- 把excel中的数据批量导入到mysql数据中
- 如何从sqlserver中把表数据导入到oracle?
- 如何从sqlserver中把表数据导入到oracle? .
- 把excel表格数据导入到SqlServer
- sqlserver数据导入mysql二: 根据sqlserver表结构创建mysql表的perl代码
- 从sqlserver到mysql的数据导入导出
- sqlserver数据导入到mysql的php程序
- sqlserver导入数据到mysql的详细图解
- SQLServer导出数据到MySQL
- java socket多线程并发消息读取".properties"文件ip和端口配置
- LRU Cache
- JavaSE基础第二部分:Java基础语法之常量与变量
- Android Mms专题之:接收信息流程
- Spring Bean的生命周期
- sqlserver数据导入mysql八: 把sqlserver中的存储过程注释后创建到mysql中(留着人工修改)
- 解析OpenSSL漏洞:影响巨大 两年前已存在
- lucene检索实例
- 都叫兽!你在说什么?@。@!看字幕(适配器模式)
- Binary Tree Postorder Traversal
- POJ 1699 Best Sequence
- kinfu 编译全过程
- 不是书评 :《我是一只IT小小鸟》
- 枚举中定义构造方法