如何从SQLServer 迁移数据 到PostgreSQL

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从SQLServer 迁移数据 到PostgreSQL相关的知识,希望对你有一定的参考价值。

参考技术A 一. 如果B数据库是新建的,为了移植数据库,那就直接附加,分下列步骤:
1. 打开配置管理器

2. 停止SQL Server服务

3. 在C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data目录下找到数据库文件,复制到B电脑上,B电脑打开数据库附加A数据库就好了。
二. 如果B数据库已经曾在,可以使用导出任务
打开数据库,右键点在数据库上,找到导出任务

按照向导选择该到处的数据表和视图。填写两个数据库的验证信息

(转)如何将数据库从SQL Server迁移到MySQL

一、迁移Database Schema。

首 先使用Sybase Powerdesigner的逆向工程功能,逆向出SQL Server数据库的物理模型。具体操作是在Powerdesigner中选择“File”,“Reverse Engine”再选择Database,将DBMS选择为SQL Server,如图:

技术分享

然后选择数据源,也就是要具体连接到的SQL Server数据库服务器,然后选择要逆向的数据库名,比如选中“WSS_Content_80”如图所示:

技术分享

单击确定即可生成物理模型图:

技术分享

然后单击“Database”菜单下的Change Current DBMS修改当前的DBMS,改为MySQL 5.0,

技术分享

单击确定后即可生成MySQL的物理模型 然后单击“Database”菜单下的“Generate Database”生成数据库脚本文件。

接下来是手工修改下生成的脚本的内容。

将其中的dbo.全部替换成空

将create user这样的语句删除掉。

如果有些字符在MySQL中是关键字,那么必须使用“`”(键盘上数字1左边那个符合)符合框起来。

加上MySQL所需要的存储引擎比如每个建表语句后跟上:

ENGINE = INNODB CHARACTER SET utf8 COLLATE utf8_general_ci;

将生成的脚本在MySQL中去运行一次即可创建数据库。

二、迁移数据内容

数据内容只能通过生成INSERT语句的方式来做。

首先使用SSMS的“生成脚本”功能(在数据库上右键,选择“任务”“生成脚本”选项),可以为SQL Server数据库中的数据生成插入脚本。

首先选择要迁移数据的表,这里我们全选所有的表:

技术分享

然后单击下一步,选择将脚本保存到新的查询窗口:

技术分享

单击“高级”选项,在高级选项窗口中选择“要编写脚本的数据的类型”为仅限数据:

技术分享

然后“确定”再下一步下一步即可生成INSERT脚本文件。

修改生成的脚本文件,主要有以下几项修改:

使用批量替换的方式去掉[ ]这是SQL Server的符合,在MySQL中不用这个。

使用批量替换的方式去掉dbo.

有些单词在MySQL中是关键字的,那么需要使用“`”引起来。

关于Datetime类型的数据,需要手工修改下,SQL Server默认生成的是这样的语句,在MySQL中是没办法解析的:

CAST(0x00009EEF00000000 AS DateTime)

为每一行添加一个;表示一个插入语句结束。这个分号在SQL Server中可以不需要,但是在MySQL中是必须的。简单的方法是使用高级的文本编辑器(比如Notepad++),将\\r\\n替换为;\\r\\n即可。

以上是关于如何从SQLServer 迁移数据 到PostgreSQL的主要内容,如果未能解决你的问题,请参考以下文章

(转)如何将数据库从SQL Server迁移到MySQL

怎么快速迁移数据从 MSSQL 到 MySQL

如何把sqlserver数据迁移到mysql数据库及需要注意事项

将ABP的数据库从SQLSERVER迁移到MySql

RowVersion字段从SqlServer到PostgreSQL的迁移

RowVersion字段从SqlServer到PostgreSQL的迁移