如何快速将SQL数据库迁移到HANA数据库

如何快速将SQL数据库迁移到HANA数据库,第1张

一、迁移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即可。

通过配置本地数据库的tns配置文件实现:

去oracle安装目录下oracle\product\10.2.0\db_2\NETWORK\ADMIN\

找到tnsnames.ora,用记事本打开,里边有远程数据库的tns连接配置串如下

ORCL23

=

(DESCRIPTION

=

(ADDRESS_LIST

=

(ADDRESS

=

(PROTOCOL

=

TCP)(HOST

=

192.168.3.23)(PORT

=

1521))

)

(CONNECT_DATA

=

(SID

=

ORCL)

)

)

添加好ip、端口和目标数据库的实例名(SID),然后确保tns名称(ORCL23)在整个文档中唯一,保存后打开数据库连接工具,输入远程数据库上的用户名密码,选择数据库对象为你配置的连接名就可以了


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9904519.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存