问题标签 [ddlutils]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
5986 浏览

java - 在 Java 中获取数据库元数据的最简单方法是什么?

我对java.sql.DatabaseMetaData界面很熟悉,但我觉得使用起来很笨拙。例如,为了找出表名,您必须调用getTables并循环返回的ResultSet,使用众所周知的文字作为列名。

有没有更简单的方法来获取数据库元数据?

0 投票
3 回答
558 浏览

java - DDLUtils 和自动增量值

尝试使用DDLUtils时,它似乎总是接管设置为自动增量的列的 id 值。我怎样才能防止这种情况?

例如,我有一个 Dogs 表,其中有一列称为 ownerID。列 ownerID 设置为自动增量。但是我的所有者列表不是连续的,存在差距(例如,ownerID 的 2、4、5、6、7、10 存在但不存在 1、3、8、9,因为它们已被删除)。问题是在 DdlToDatabase 恢复时,所有者 ID 被重置为 1、2、3、4 等等。这意味着我的 Dogs 表中通过 ownerID 的链接现在都是不正确的。

如何让 DDlUtils 正确导入自动递增字段的值?

0 投票
2 回答
5682 浏览

java - 用于读取数据库模式的 Java 库

我正在寻找一个轻量级、开源、或多或少的跨数据库 Java 库,它允许我读取列、表和给定的完整性约束的元信息DataSource

0 投票
2 回答
1305 浏览

java - 使用 org.apache.ddlutils.DdlUtilsException 的问题

我正在尝试使用org.apache.ddlutils包来读取数据库元数据。我写了以下方法:

但是该语句throws DdlUtilsException给出以下错误:

不能抛出 DdlUtilsException 类型的异常;异常类型必须是 Throwable 的子类

我根本不明白这个错误背后的原因,因为http://db.apache.org/ddlutils/api/org/apache/ddlutils/DdlUtilsException.html的 API清楚地说明了以下内容:

请指教。

0 投票
1 回答
2421 浏览

java - 在 Oracle 11.1.0 中使用 DdlUtils 时出现问题

这个问题类似于问题https://stackoverflow.com/questions/3362965/problem-with-ddlutils-in-oracle-10g。由于我的问题(或至少我认为)与提到的问题略有不同,因此我发布了一个新问题。

我正在使用 DdlUtils-1.0、Java-6 (OpenJdk)、ojdbc6.jar 和 Oracle 11.1.0。迁移由 ant 任务启动。任务如下所示:

${source.platform} 设置为“oracle10”,因为 ddlutils 不支持 oracle11。模式定义的创建工作得很好,但是在转储数据时我面临以下异常:

[databaseToDdl] org.apache.ddlutils.model.ModelException:未知 JDBC 类型代码 2007 [databaseToDdl] 位于 org.apache.ddlutils.model.Column.setTypeCode(Column.java:215) [databaseToDdl] 位于 org.apache.ddlutils。 platform.JdbcModelReader.readColumn(JdbcModelReader.java:781) [databaseToDdl] at org.apache.ddlutils.platform.oracle.Oracle8ModelReader.readColumn(Oracle8ModelReader.java:117) [databaseToDdl] at org.apache.ddlutils.platform.JdbcModelReader。 readColumns(JdbcModelReader.java:755) [databaseToDdl] at org.apache.ddlutils.platform.JdbcModelReader.readTable(JdbcModelReader.java:565) [databaseToDdl] at org.apache.ddlutils.platform.oracle.Oracle8ModelReader.readTable(Oracle8ModelReader. java:102) [databaseToDdl] 在 org.apache.ddlutils.platform.oracle.Oracle10ModelReader.readTable(Oracle10ModelReader.java:80) [databaseToDdl] 在...

http://download.oracle.com/javase/6/docs/api/constant-values.html#java.sql.Types.BIT中列出了 jdbc 类型代码。显然 ddlutils 从 jdbc 驱动程序中获取了此类型代码,但在 java.sql.Types 中找不到相应的类型。

有人知道如何解决这个问题吗?

0 投票
2 回答
193 浏览

java - DdlUtils:延迟插入

为了将数据库从 oracle 迁移到 mysql,我正在使用 ddlutils。迁移架构适用于我的目的,但由于缺少行,插入数据失败。日志文件的以下摘录对此进行了解释:

在数据库中,有一行 RECORDSTATUS_ID=0。有人遇到同样的问题吗?有人有想法,问题是什么?

0 投票
2 回答
8568 浏览

java - 使用 HSQLDB (2.2.8) + DDLUtils 自动递增

我想将 HSQLDB 用作嵌入式数据库,但无法将其设置为auto-increment

据我了解,[CALL] IDENTITY()可以用来获取最后一个主键值。但是,通过 iBatis 和 HSQLDB 的实验DatabaseManagerSwing不断返回 0 值。

如何获得自动增量以使用 HSQLDB?

编辑:

我没有提到我正在使用DDLUtils来自动生成表。以下适合 HSQLDB:

此外,这里是用于域类的 iBatis SQL 映射:

0 投票
1 回答
1185 浏览

java - 使用 ddlutils 转换数据库的问题

我必须将 mysql-database 转换为 java (derby) 数据库。这适用于 ant-tasks,绝对没问题。不幸的是,并非原始数据库中的所有表都可以在目标数据库中使用。由于我没有机会在 ddlUtils 的 ant-tasks 中按名称过滤表,因此我考虑使用 ddlUtils.jar 编写一个小型 Java 应用程序。

但是尝试这个,我什至无法从 mysql 数据库中提取模式和数据。对于像我这样的初学者来说,ddlUtils-api 中的示例解释得更少。

有没有更全面的例子来处理这个问题?

我的计划是将工作分成以下步骤:

  • 从原始数据库获取 db-schema(由 TableNames 过滤)
  • 从原始数据库中获取数据(由 TableNames 过滤)
  • 使用简化的 db-schema 在目标数据库 (Java) 中创建模式
  • 使用缩减的内容将数据插入目标数据库。

在 api 部分“从实时数据库中读取模型”是用于此操作的方法 platform.readModelFromDatabase(String),但我现在无法实例化平台对象,这让我无需大量调用该方法例外。

非常感谢阿尔夫

0 投票
5 回答
278 浏览

sql-server - 如何让我的 webApp 在不同的 DBMS 之间顺利切换(DB 独立性)?

我有一个以 Informix 作为其后端数据库的 Java Web 应用程序。我的架构中的许多表都包含 CLOB、BLOB 和 SERIAL8 类型的列。现在我决定使用 SQL Server 而不是 Informix,但我发现将上述数据类型转换为相应的 SQL Server 时出现问题,例如当我转向使用 DB2 或 Oracle 时,我也会遇到同样的问题。匹配表之间关系的问题,因为每个数据库供应商都有自己的关系表示。

有没有办法设计我的应用程序和数据库模式,以便它可以与任何数据库服务器交互,而不管其类型如何并且不更改列数据类型?我听说过DDLUtilsjOOQ,但我不知道它们是否适合我

0 投票
1 回答
294 浏览

postgresql - Apache DdlUtils :: 如何获取自增键的序列名称?

我正在使用Apache DdlUtils查询 PostgreSQL 数据库以获取表和列元数据(最终目标是自动生成 javax.persistence 注释的实体 bean)。但是在我看来,DdlUtils库没有提供一种方法来获取自动增量列中使用的序列名称。Column类提供了一个isAutoIncrement方法来查询自动增量状态,但我找不到获取与其关联的序列名称的方法。这是 PostgreSQL 中 DDL 的一部分,例如:

我应该直接查询一些元数据/目录表来获取那部分信息吗?