【问题标题】:SQL script to XML formatSQL 脚本转 XML 格式
【发布时间】:2013-09-02 21:53:19
【问题描述】:

我的 java 应用程序中的一个主要要求是将 sql 查询存储在数据库上以供以后使用。 由于我的应用程序连接到不同的数据库类型,如 MSSQL、HSQL、Oracle 等,并且每种类型都有自己的 sql 脚本格式,我需要一个解析器/转换器来将我的 sql 脚本解析为一种统一语言 (XML) 和反过来。

因此,当存储像 'SELECT * FROM [Project].[dbo].tableName' (MSSQL) 这样的脚本时,它会被解析为:

<Select>
<fields>*</fields>
<tableSource>tableName</tableSource> 

我的问题是,是否有一个可免费下载的转换器用于此任务,它支持不同类型的 DB 语法,或者如果没有,这是实现此解析器以覆盖大部分语法的最有效方法.

【问题讨论】:

  • 您可能想查看JPA 和例如Hibernate 的实现。 - 使用 hibernate,您可以使用 Hibernate 查询语言 (HQL),然后 Hibernate 将在运行时将其转换为所用 DBMS 的相应 SQL 语句。 - 或者看看 Hibernate 的 SQL Dialects
  • @HannoBinder 将对其进行研究并通知您。感谢您的回复

标签: java sql xml parsing converter


【解决方案1】:

如何使用这个结构

<sqls>
<sql>
<db-type name="mysql" />
<sql-query><[CDTATA[select * form .....]]></sql-query>
</sql>
<sql>
<db-type name="oracle" />
<sql-query><[CDTATA[select * form .....]]></sql-query>
</sql>
<sqls>

【讨论】:

  • 不确定它是否是最有效的解决方案。您希望我为我处理的每种类型的数据库生成适当的查询。所以每次我决定添加一个新的数据库系统时,我都需要用新的数据库类型更新旧的 XML,这是大小限制(考虑一个具有别名、连接、函数等的大型查询)
猜你喜欢
  • 1970-01-01
  • 2015-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多