AWS Schema Conversion Tool(AWS SCT)是一个强大的工具,可以帮助用户在不同数据库之间迁移数据架构。以下是使用AWS SCT将Sybase存储过程转换为PostgreSQL存储过程的步骤:
首先,需要从AWS官方网站下载并安装AWS SCT工具。在VM中,则请客户帮忙上传AWS SCT安装包。安装过程简单,不再赘述。
主要是配置数据库驱动。运行SCT后,点击Settings菜单,选中“Global settings",进入Drivers标签,然后分别在Sybase和PostgreSQL path栏目输入各自的jdbc驱动文件路径。这里要注意的是Sybase必须使用JDBC16版本,低版本会不兼容。
:PG常见编译错误/442910649.png)
点击File菜单下的New
:PG常见编译错误/4274659562.png)
New project的配置,默认即可
:PG常见编译错误/1555827346.png)
创建project成功后,界面如下。左边是源数据库,开始是没有源数据库的,需要添加。点击Add source,来添加源Sybase数据库。
:PG常见编译错误/486060498.png)
在Add source窗口中,选中SAP ASE
:PG常见编译错误/1082747352.png)
点Next,进入数据库Connection设置窗口,只需在红色框中填入信息,其它默认即可。
:PG常见编译错误/3389696207.png)
正确输入Sybase连接信息后,点击Connect后会返回主界面。这时左边的Sources中可以看到刚刚输入的Sybase数据库
:PG常见编译错误/4103714187.png)
所谓Mapping,就是从哪个源数据库转到哪个目标数据库。对我们项目来说,就是从Sybase转到PG。点击主菜单中的“Mapping View”进入Mapping设置界面,源数据库选刚刚配置的Sybase,目标数据库选ostgreSQL(virtual),最后点Create Mapping按钮。
:PG常见编译错误/3021703117.png)
点击Main view,进入Main view界面。代码转换就在这个界面中进行。
:PG常见编译错误/4184746597.png)
选中要转换的数据库,并在Databases目录上,并点击鼠标右键,再点”Convert schema”,就开始转换啦。
:PG常见编译错误/1177413037.png)
经过一段漫长的等待后(在目前的项目中,表、索引和sp等对象共用有数千个,转换花了1个多小时),就可以在目标数据库中看到转换后的代码啦。
:PG常见编译错误/2455694988.png)
- AWS SCT支持从Sybase ASE迁移到PostgreSQL,包括表、索引、触发器、存储过程和函数等的转换。
- 在转换过程中,AWS SCT需要连接源数据库,读取系统表,因此账号需要较高的权限,最好使用管理员账号操作,避免不必要的麻烦。
对于复杂的存储过程,可能不会完全转换成功,需要手动调整转换后的代码,以确保其在PostgreSQL中正确运行。
通过以上步骤,就可以使用AWS SCT将Sybase的存储过程成功转换为PostgreSQL的存储过程,从而实现数据库的平滑迁移。