• mssql2mysql 实战笔记


        工作中有个合并Mssql和Postgresql的数据到Mysql的需求。苦战完毕,记录下来以分享下各种蛋疼~~~

        Let‘s  go  ahead step  by  step。

        环境: Win2008 ; Mssql 2008 R2+SP3; Mysql ;

        一年之计在于春,立春之日,诸位看官请先设置好mysql  的字段类型和字符集( set  names utf-8)

       (1) Windows下,Mysql不区分大小写,但是导入导出文件时是区分的。参数lower_case_table_names的值可取 0,1,2。0库名表名区分大小写 ,1库名表名不分大小写 ,2使用指定的大小写, 但显示的时候都显示为小写。 默认状态下 Windows系统下1  Linux系统下0   Mac系统下2

       (2) Mysql中如果时间字段以Int类型存储通过from_unixtime转换,但是Int是4字节的和东八时区的概念,所以时间范围是1970-01-01 08:00:01到2038-01-19 11:14:07。

    俩种方式可以实现:----- 当然肯定有简洁的第三方工具或者更多更好的方法,这里欢迎大家拍砖。

    一  链接服务器导入导出

    1.  下载mysql  odbc驱动,安装。

    2.   MSSQL 创建数据源。需要注意:设置为system  DNS ,character  set  为GBK; 否则创建链接服务器时会找不见odbc驱动源和中文字符乱码

    3.   MSSQL 创建连接服务器,操作mysql语句如下:

    (1) select * from openquery(TestMySQL,'select * from test.TestTable');

    (2) insert into openquery(TestMySQL,'select * from test.TestTable')  select 1,'TestName';

    (3) delete from openquery(TestMySQL,'select * from test.TestTable');

    (4) update openquery(TestMySQL,'select * from test.TestTable')  set TestName='ABCDE' where TestID=1;

            ps:  此种方法对大数据量来说慢的无法接受,所以大数据的话不推荐使用。

    二  文件形式导出导入

    1. Mssql 通过BCP的方式导出文件

    ------exec master..xp_cmdshell 'bcp "SELECT  REPLACE(REPLACE(Alias,'';'',''\;''),''\'',''\\''), DateDiff(SECOND,''1970-01-01 8:00'',LoginTime) from Demo.dbo.Demo"   queryout  D:\demo\demo.txt  -t";"  -r "\r\n" -c -T';

    (1) 利用sql语句对字段NULL值等进行处理,尤其要注意以  “;“作为字段分隔符,中文字段值包含”;“,末位值是”\“的情况,可以参考下我的sql。

    (2) 导出的文件通过UE工具从ANCI转换为UTF-8

    2. Mysql  通过load  data 方式导入文件

    -------load data infile 'D:/demo/demo.txt' into table Users character set utf8 fields terminated by ";" escaped by "\\" lines terminated by "\r\n" ;

    3.  Mysqldump

    ------mysqldump -uroot -p --default-character-set=utf8 --opt --extended-insert=false --hex-blob --single-transaction -t demo Demo >d:/demo/Demo.sql

    三 Postgresql 用copy导出文件

    -----COPY (select  id , COALESCE(alias,0),COALESCE(name,0)  from demo)  TO '/data/demo.sql' DELIMITER ';'  null '';

  • 相关阅读:
    ubuntu ip
    [转]caffe+Ubuntu14.0.4 64bit 环境配置说明(无CUDA,caffe在CPU下运行) --for --Amd
    kali install fcitx
    [转译][马基 杰斯特(MarkeyJester) 摩托罗拉68000 入门教程] 叁
    [转译][马基 杰斯特(MarkeyJester) 摩托罗拉68000 入门教程] 叁
    [转译][马基 杰斯特(MarkeyJester) 摩托罗拉68000 入门教程] 叁
    [转译][马基 杰斯特(MarkeyJester) 摩托罗拉68000 入门教程] 叁
    [转译][马基 杰斯特(MarkeyJester) 摩托罗拉68000 入门教程] 贰
    [转译][马基 杰斯特(MarkeyJester) 摩托罗拉68000 入门教程] 贰
    [转译][马基 杰斯特(MarkeyJester) 摩托罗拉68000 入门教程] 贰
  • 原文地址:https://www.cnblogs.com/renyb/p/2828169.html
Copyright © 2020-2023  润新知