当前位置:Linux教程 - Linux - 将SQLSERVER的数据导入到postgresql中

将SQLSERVER的数据导入到postgresql中



         将SQLSERVER的数据导入到postgresql中
    云飞扬

    在linux的实际应用过程中,经常要处理一些数据的导入及导出 ,特别是将windows平台的数据导到linux平台的数据库中.
    从“如何把ACCESS的数据导入到Mysql中”一文中,我获得了一些启示,成功的将sqlserver数据导到了postgresql数据库
    中。
    postgresql有一个非常有用的sql命令COPY — 在表和文件之间拷贝数据 ,
    语法
    COPY [ BINARY ] table [ WITH OIDS ]
    FROM { filename | stdin }
    [ [USING] DELIMITERS delimiter ]
    [ WITH NULL AS ull string ]
    COPY [ BINARY ] table [ WITH OIDS ]
    TO { filename | stdout }
    [ [USING] DELIMITERS delimiter ]
    [ WITH NULL AS ull string ]
    详细请参见postgresql7.1.1 document中文版(http://laser.zhengmai.com.cn/pgsqldoc-7.0c/sql-copy.htm)说明。
    首先我们把数据从sqlserver中导出为文本文件.在导出过程中注意选择好字段分隔符和文本标识符,且查看一下文本文件
    ,确定一个记录是否在同一行上,如不是,则手工把回车键除掉.假如我们导出的文本文件为c:\friend.txt.在linux下将它拷到
    /usr/test/。其内容如下:
    1,云飞扬,男,南京六合,徐州建院
    2,孙高勇,男,南京六合,徐州建院
    3,朱晓玲,女,南京,未知
    我们要将数据从linux文件复制到表friends(表的结构要同文本文件的格式一致字段如下:id,name,sex,address,school),使
    用“,”字符作为分隔线:
    copy friends FROM /usr/test/friend.txt USING DELIMITERS ,;
    去试一下(注意转义字符),是不是一切ok!
    当然拉,这种方法还是比较麻烦地,不知各位还有什么更好的方法,请告诉我,我的email:[email protected]
    [email protected].

    参考文档:1.如何把ACCESS的数据导入到Mysql中
    2.postgresql7.1.1 document中文版(http://laser.zhengmai.com.cn
    发布人:yfy001 来自: