拿Eclipse RCP做个自己的数据库迁移工具

我的产品是被要求运行在多种常见数据库平台下(mysql/sqlserver/oracle)下,在开发中需要严格遵循相关的规范以确保能够实现跨数据库类型的要求.(相关的要点在我的"你的系统真的因为使用hibernate就可以适应各种数据库吗? "一文中已提及).在初始开发时有一个问题是比较困扰我的团队的,我们开发的时候必定是基于某个特定的数据库开发的(比如mysql),但在测试阶段是需要在不同的数据库平台下进行兼容性测试,由于开发过程中数据库结构与种子数据变化非常快,全部编写sql方式非常浪费时间,如何能找到一种高效的数据库相互迁移的工具,是我们当时所急需的解决方案.

其实也没啥选择,比较常用的数据库迁移工具就是Sqlserver自带的DTS,这玩意在sql server数据库间进行数据导入/导出时倒确实比较好用,在不同数据库类型进行操作时,就会出多多问题,如:类型转换需手工指定/导出字段有双引号...

所以最后的选择就是自己做一个DTS好啦,思路如下:

1、选择源数据库连接与目标数据库连接

2、根据源数据库遍历所有数据库对象(表),做为基准

3、删除目标数据库所有表外键及索引、删除所有种字数据(根据约定)数据、字段均允许null

4、遍历源数据库中所有表,为目标数据库修改结构(如增删字段,字段改类型、大小)

5、将源数据库中种子数据表数据拷贝至目标数据库中

6、根据源数据库为目标数据库中的表创建外键及索引、设置是否允许为null

时间: 2025-01-02 02:16:42

拿Eclipse RCP做个自己的数据库迁移工具的相关文章

Eclipse RCP性能问题与解决方案

2004年开始,我开始让研发团队基于Eclipse插件技术开发通用管理软件(最近的一个产品是一体化企业管理软件CRM+OA+DSS+进销存的E-System) 选取RCP方式开发管理软件,我们的初衷是期望使得用户界面的丰富性和易操作,能够充分利用Eclipse本身丰富的SWT/JFACE/GEF/EMF等技术来完美我们的界面表现,应该说这方面Eclipse RCP确实不辜负我们的期望. 在四年的Eclipse RCP开发经历中,经历了很多坎坷和难以逾越的障碍,其中有一个至今仍在困扰着我们的问题就

Eclipse RCP:用于构建平台的平台

技术存在着一定的周期性.在经历了一段由瘦客户端统治的时期后,富客户端技术开始了它的回归.大量的组织正在将它们的应用程序构建成富客户端,其中许多组织将其应用程序建立在RCP(Eclipse Rich Client Platform)的基础上.术语富客户端首先表明此应用程序为用户提供丰富的体验;其次,它还表明此应用程序是某台服务器的客户端.虽然富客户端并不必须具有对应的服务器组件,但是它们通常会有对应的服务器组件. 富客户端在很多方面与胖客户端类似.它们两者都能为用户带来本地桌面体验,并提供那些通过

Eclipse RCP+Spring建胖客户端Web程序

web|程序|客户端 摘要 Eclipse丰富的客户端平台(RCP)正在快速地成为构建胖客户端应用程序的框架选择.本文将向你详细介绍如何利用Eclipse RCP进行Spring Web开发. 一. 引言 尽管Web 2.0和丰富的因特网应用程序(RIA)如今极为风行,但是,当你真正需要胖客户端功能时构建一个丰富的Web前端可能并不真正满足你的要求. 但是,如果你确实想避开所谓RIA狂热而选择一种实际的胖客户端解决方案的话,那么你该怎样做呢?回答是:你可以选择一种丰富的客户端平台(RCP)来为你

Eclipse RCP中使用JasperReport制作报表

Eclipse RCP用来开发Java客户端应用非常爽,现在它本身也有BIRT报表项目 支持Eclipse RCP中使用报表.不过四年前我开始开发时,却没这么幸运,于是怎 么在RCP中生成报表成我一个头痛的事情. 琢磨了几天,终于让我想出一个在我的Eclipse RCP程序中使用JasperReport 报表的方法: 1.报表模版存放在服务端特定的一个资源目录下. 2.客户端获得客户输入的报表参数(查询范围.分组条件)及对应报表模版 名称(与服务端有命名约定) 3.客户端提交request对象至

Eclipse RCP技术和OSGi规范在客户端及服务器端的应用

导论 和其他行业一样,订做家具行业呈现出这样一个特点--日益变化的需求应当被反 映到从事该行业的公司使用的软件中.位于伊利诺斯州的芝加哥RPC Software公司在其产品 中通过使用开源软件从而在市场中获得了成功.该公司利用Eclipse RCP.DotProject以及 SugarCRM等技术快速地发布了一个更具有成本效益的解决方案, 从而击败了竞争对手.该案 例研究不但揭开了技术层面的面纱,而且总结了开发中获得知识以及经验教训. 业务 RPC Software公司为家具行业开发了ERP订单

使用Eclipse RCP进行桌面程序开发(三):视图和透视图

Eclipse RCP开发中,和用户进行交互最多的界面,应该是视图了,而透视图就是将已有 的视图.菜单.工具栏.编辑器等等进行组合和布局.看完这一节,我们就可以建立如下图 这样的程序界面了. 首先我们来介绍一下视图,建立一个视图其实非常简单,只要从 org.eclipse.ui.part.ViewPart继承一个类,然后在plugin.xml中进行视图的配置.其中, 向视图中添加控件的操作,我们即可以手工编写,也可以使用Designer插件,我这里推荐大 家使用Designer插件,该插件对RC

使用Eclipse RCP为移动作业提供操作支持

现在,工作人员的移动性日益增加,很多工作都需要在现场进行,远离标准的工作场所工 具,比如桌面计算机和有线网络.即便是对于移动设备,连接性也只能限于具有无线网络的 区域.在本文中,了解基于开源 Eclipse Rich Client Platform (RCP) 的 Mobile Workforce Framework 在为工作在没有网络连接或网络连接有限的偏远地区的团队提供支持 方面的发展.Mobile Workforce Framework 项目,即 Maestro,充分展示了通过使用 Ecl

在eclipse rcp中使用spring框架

很久就想了如何在Rcp程序中使用Spring.让Spring容器来管理我们rcp程序中的Beans.看到web项目中使用了spring后带来的好处(最直接的就是看到代码量少了)就一脸的憧憬.想我的好日子什么时候才会来啊. 有这个憧憬后我就开始考虑改如何做了.大家肯定都知道如果在eclipse rcp程序中使用直接使用spring的beanfactory无论你是使用方式都会说找不到配置文件的.这个其中的原因是Eclipse 的每个插件都使用他们自己的类加载器(class load) 说明:ecli

开发您的第一个Eclipse RCP应用程序

开始之前 本教程适用于希望学习如何使用 Eclipse Rich Client Platform (RCP) 的开发人员.Eclipse 已发展成为拥有广泛应用程序的平台,服务于广大不同的最终用户.把 RCP 看成集成平台,它与 Eclipse 拥有一样的原始功能,但是总体内存占用更小,用户界面更加灵活.RCP 使得用 Java 编程语言编写桌面应用程序成为可能. 关于本教程 本教程使用 Eclipse RCP 构建一个应用程序.示例应用程序被分成四个部分,每一个部分都是构建在前一个之上.开始,