perl访问mssql并迁移到mysql数据库脚本实例.pdfVIP

perl访问mssql并迁移到mysql数据库脚本实例.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
linux 下没有专门为 mssql 设计的访问库,不过介于 mssql 本是从 sybase 派生出来的, 因此用来访问 sybase 的库自然也能访问 mssql ,freetds 就是这么一个实现。 perl 中通常使用 dbi 来访问数据库,因此在系统安装了 freetds 之后,可以使用 dbi 来通 过 freetds 来访问 mssql 数据库,例子: 代码如下 : using dbi; my $cs = driver={freetds};server= 主 机 ;port=1433;database= 数 据 库 ;uid=sa;pwd= 密 码 ;tds_version=7.1;charset=gb2312; my $dbh = dbi-gt;connect(dbi:odbc:$cs) or die $@; 因为本人不怎么用 windows ,为了研究 qq 群数据库, 需要将数据从 mssql 中迁移到 mysql 中,特地为了 qq 群数据库安装了一个 windows server 2008 和 sql server 2008r2,不过过几天评 估就到期了,研究过 mysql 的 workbench 有从 ms sql server 迁移数据的能力,不过对于 qq 群这种巨大数据而且分表分库的数据来说显得太麻烦,因此写了一个通用的 perl 脚本,用 来将数据库从 mssql 到 mysql 迁移, 结合 bash,很方便的将这二十多个库上百张表给转移过 去了, perl 代码如下: 代码如下 : #!/usr/bin/perl use strict; use warnings; use dbi; die usage: qq db\n if @argv != 1; my $db = $argv[0]; print connectin to databases $db...\n; my $cs = driver={freetds};server=mssql 的 服 务 器;port=1433;database=$db;uid=sa;pwd=mssql 密码 ;tds_version=7.1;charset=gb2312; sub db_connect { my $src = dbi-gt;connect(dbi:odbc:$cs) or die $@; my $target = dbi-gt;connect(dbi:mysql:host=mysql 服务器 , mysql 用户名 , mysql 密码 ) or die $@; return ($src, $target); } my ($src, $target) = db_connect; print reading table schemas\n; my $q_tables = $src-gt;prepare(select name from sysobjects where xtype = u and name != dtproperties;);# 获取所有表名 my $q_key_usage = $src-gt;prepare(select table_name, column_name from information_schema.key_column_usage;);# 获取表的主键 $q_tables-gt;execute; my @t

文档评论(0)

lyf66300 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8020140062000006

1亿VIP精品文档

相关文档