`
何足道
  • 浏览: 34073 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

使用DdlUtils和Ant进行不同数据库之间schema和data的转换

阅读更多

声明:使用DdlUtils需要基本的ant知识。

 

在开发过程中常常要用到多种数据库类型,比如项目可能需要支持Oracle, MySQL, MSSQL Server, Derby等等。已经有很多各种各样的小工具可以帮助开发人员进行数据库之间的schema、data转换与同步,DdlUtils就是其中之一。它可以结合Ant或者程序代码进行数据库schema/data和xml文件的相互转换。

例如,项目开发支持的是MySQL,而为了单元测试的整洁和方便,开发人员决定使用Derby来支持单元测试。DdlUtils就可以把schema和数据从MySQL中导出,变成xml文件,然后根据需要导入到Derby中;反之亦可。显然,这些导出的xml文件也是对于数据库的一个很好的备份。

下面是apache ddlutils官网给出的一个xml的例子,table和column标签里面支持的child和attribute远不止示例中的这些。

 

 

DdlUtils包含了3个Ant Task,分别是databaseToDdl, ddlToDatabase以及dumpMetadata。

 

使用ddlToDatabase的示例:

这个Ant任务创建了一个PostgreSQL数据库,把xml中定义的schema和data导入到数据库中。

 

使用databaseToDdl的示例:

这个Ant任务把derby数据库中的schema和data导出到xml文件中。


 

 

 

 

分享到:
评论

相关推荐

    数据库的catalog与schema

    同时,许多数据库管理工具,如MySQL Workbench、pgAdmin(针对PostgreSQL)、Oracle SQL Developer等,都提供了直观的界面来查看和操作Catalog和Schema,使得数据库管理员和开发人员能够更加便捷地进行数据库设计和...

    用streams实现不同数据库下不同schema间DDL同步 上个礼拜有同事问我 ....doc

    本文将探讨如何使用Oracle Streams来实现不同数据库下不同schema之间的DDL(Data Definition Language)同步,这是一个相对复杂但实用的场景。 DDL同步主要涉及到数据库对象如表、视图、索引等的创建、修改和删除...

    树形结构的数据库表Schema设计1

    总的来说,设计树形结构的数据库表Schema是一项挑战,需要平衡直观性、存储效率和查询性能。根据实际场景和需求,可以选择直观的`{Node_id, Parent_id}`方案,或者优化后的基于左右值编码的方法。理解并掌握这两种...

    json转换jsonschema

    在实际应用中,开发者可以使用这样的工具或库,通过简单的API调用来实现JSON到JSON Schema的转换,从而提高数据处理的可靠性和安全性。例如,如果你正在开发一个Web应用,你可以先将用户提交的JSON数据转换为JSON ...

    米软异构数据库转换

    "米软异构数据库转换"是一款专业的数据库管理工具,它具备强大的数据迁移功能,能够方便地在多种数据库系统之间进行数据转换。这款工具支持的数据库类型包括SQLite、MySQL、SQL Server、Access以及SQL Server CE和...

    数据库 schema含义 .doc

    不同的 schema 之间它们没有直接的关系,不同的 schema 之间的表可以同名,也可以互相引用(但必须有权限),在没有操作别的 schema 的操作根权下,每个用户只能操作它自己的 schema 下的所有的表。不同的 schema 下...

    oracle数据库体系结构之一【user和schema】

    Oracle数据库中,用户(User)和模式(Schema)是两个紧密相关却又鲜明不同的概念。用户是指拥有数据库权限和资源的实体,而模式则是指一组数据库对象的集合,包括表、视图、索引、同义词等等。 首先,从官方文档中...

    SQL DataBase schema & data Compare

    1. **比较不同数据库的结构**:这些工具能快速识别出表、视图、索引、存储过程和函数之间的差异。 2. **生成差异报告**:生成详细的报告,列出所有不匹配的元素,便于理解并解决差异。 3. **同步更改**:允许用户...

    sql对比两个数据库之间的差异

    2. **数据迁移**:在进行数据库迁移或升级时,比较源数据库和目标数据库的结构差异,确保迁移过程中不会丢失数据或结构。 3. **故障排查**:当遇到某些问题时,可以通过比较数据库结构来快速定位问题所在。 #### ...

    Java bean转换为Json Schema

    Java Bean转换为Json Schema是一种常见的数据转换操作,特别是在开发基于RESTful API的Web服务时,因为JSON Schema提供了数据验证和文档化的功能。Java Bean是Java编程中的一个概念,它是一类具有特定规则的POJO...

    XML文档数据库数据之间的转换原理及转换对象

    为了在XML文件和数据库之间进行数据交换,需要将XML文件的schema(DTD、XML Schema、RELAX NG等)映射到数据库的schema。这一过程通常涉及两步:首先,将XML数据结构化为符合数据库模式的形式;其次,使用数据转换...

    XML和数据库之间转换

    XML(eXtensible Markup Language)是一种用于标记数据的语言,其设计目的是传输和存储数据,而非显示数据。...在实际应用中,根据业务需求灵活选用XML和数据库的组合,可以实现最佳的数据解决方案。

    XML与数据库相互转换

    - "Convertxml":可能是实现XML与数据库转换的代码文件,可能使用了.NET中的XML和数据库相关类库。 总结来说,"XML与数据库相互转换"是一个关键的IT技能,涉及数据的读取、解析、操作和存储。在VS2003中,开发者...

    使用ant执行sql脚本重建oracle数据库

    在进行这样的转换时,我们需要了解两种数据库之间的差异,例如MySQL的InnoDB引擎与Oracle的表空间,以及它们对索引、触发器、存储过程的支持情况。 在实际操作中,我们可能会编写一系列的SQL脚本,先将MySQL的数据...

    两个不同数据库中的表之间的操作(包含sql server /oracle)

    综上所述,在不同的数据库环境之间进行表操作时,SQL Server提供了链接服务器和开放式数据源两种方法,而Oracle则提供了DBLINK机制。这些技术都可以有效地帮助我们在不同数据库之间共享数据,提高数据处理的灵活性和...

    DB2导出数据库表结构和数据.pdf

    使用以下命令,我们可以创建一个新的数据库和 schema: create database db_name on 'directory_name' using codeset utf-8 territory US collate using system; create schema sch_name authorization sch_passwd...

    sql数据库之间数据的转录

    此外,还可以使用ETL(Extract, Transform, Load)工具,如SSIS(SQL Server Integration Services)、Apache Nifi或Pentaho Data Integration,它们提供了更强大的数据处理和转换功能。 在数据导入过程中,需要...

    使用information_schema.tables查询数据库和数据表信息1

    `information_schema`是一个特殊的系统数据库,它提供了一种方便的方式来获取关于所有数据库、表、列、存储引擎和其他元数据的信息。在这个主题中,我们将深入探讨如何利用`information_schema.tables`来查询数据库...

    Greenplum不同集群之间同步数据方法及性能1

    在相同集群的相同数据库但不同SCHEMA之间同步数据,可以使用SQL语句直接进行操作。首先,我们需要了解原始表的大小、行数和结构,以便于规划同步策略。 **2.1 查看原始表的大小行数与结构** 使用`pg_class`系统表...

Global site tag (gtag.js) - Google Analytics