Navicat是常用的数据库管理和开发工具,尤其是开发人员,常常喜欢用Navicat做数据库的管理和设计开发,数据库的导入导出。Navicat图形化的操作方式在很大程度上简化了数据库的维护和开发,尤其是在数据维护方面,Navicat提供了很多工具减轻这些工作的负担。这里介绍一下Navicat的数据传输功能,使用这个功能可以很方便的在数据库时间传输数据。
在不同的数据库之间传输数据,在数据维护人员经常要做的事情,如果手头上没有工具可用,一般是采用命令行导入导出的方式,如果是异构数据库,可能要在源数据库上将表导出为特定格式的文本文件,然后再在目标数据库上导入。这个操作有时会变得十分复杂,一般很少采用,大部分有经验的dba或开发人员会借助与第三方工具来做,比如Oracle上常用的PLSQL developer,Navicat也提供数据的导入导出功能。
使用Navicat的数据传输功能,可以在数据库之间传输表数据,避免了导入导出的复杂过程。简单的演示一下。
1 使用Navicat连接至源和目标数据库
使用Navicat连接到mysql数据库非常简单,打开新建连接,选择myslq数据库,在上面的图中填入主机ip、端口、用户名和密码,点击测试连接,连接成功后确认即可。
成功连接到源和目标数据库之后,左边的导航栏内可以看到已连接到的数据库,本次演示源数据库是mysqlECS,目标数据库是mysqlLocal。
2 数据传输MySQL至MySQL
点击工具下拉菜单后点击数据传输,出现以下界面:
在这个图中选择源实例,源数据库,目标实例,目标数据库,选择后可以看到源和目标数据库的详细信息。点击下一步。
从上面的图上可以看到可以传输的对象,表、函数、视图、时间都是可以传输的,可以选择全部,传输选择的全部对象,也可以选择自定义,选择一个或几个对象进行传输。这里选择传输一个表,进入下一步。
进入摘要界面点击开始进行数据传输。
上图显示了数据传输的过程,可以看到,Navicat先从源库获取数据,这个步骤分两步,第一步是获取表结构,然后是获取表的记录,然后再目标数据上删除目标表后再创建目标表,表名同源库相同,最后传输表记录。
3 数据传输MySQL-Oracle
Navicat也支持异构数据库时间的数据传输,比如MySQL-Oracle之间
目标数据库选择Oracle,点击下一步
这里只能传输表,点击下一步进入摘要界面
点击开始进行数据传输
可能是需要转换的缘故,异构数据库的传输速度要慢一些。
4 数据传输的高级功能
Navicat的数据传输也支持一些高级的功能,可以自己选择目标表的名称,自定义原表到目标表列的映射,如果传输全部行,可以定义每次传输行的数量,也可以自定义要传输的记录集,设置条件选择。这些功能都十分实用。