将SQLSERVER的数据导入到postgresql中

王朝mssql·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

在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:yfy002@21cn.com

参考文档:1.如何把ACCESS的数据导入到Mysql中

2.postgresql7.1.1 document中文版(http://laser.zhengmai.com.cn)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航