【问题标题】:Error when generating meta model code with JOOQ from SYBASE DB使用 JOOQ 从 SYBASE DB 生成元模型代码时出错
【发布时间】:2012-07-01 01:07:46
【问题描述】:

尝试使用 JOOQ 生成元模型时出现此错误:

org.jooq.exception.DataAccessException: SQL [select [SYS].[SYSUSER].[user_name] from [SYS].[SYSUSER]]; SYS.SYSUSER not found.

这可能是因为用户没有管理权限。 JOOQ 可以从 create 语句生成元模型代码吗? 我没有其他用户。有什么建议吗?

【问题讨论】:

  • 这是什么版本的 Sybase SQL Anywhere?还是您使用的是 Sybase ASE?
  • Adaptive Server Enterprise/15.0.3 - 是版本的原因吗?

标签: java sap-ase jooq


【解决方案1】:

您可能使用了 jOOQ 理解的错误数据库,如下所述:

http://www.jooq.org/manual/META/Configuration/

注意,文档是如何说明的:

<!-- The database dialect from jooq-meta. Available dialects are
     named org.util.[database].[database]Database. Known values are:

     org.jooq.util.ase.ASEDatabase
     [...]
     org.jooq.util.sybase.SybaseDatabase

     You can also provide your own org.jooq.util.Database implementation
     here, if your database is currently not supported -->
     <name>org.jooq.util.oracle.OracleDatabase</name>

您提到的 SQL 似乎来自 SybaseDatabase 类(对应于 Sybase SQL Anywhere),而您应该改用 ASEDatabase 类,生成对 sp_help 的调用

【讨论】:

  • 谢谢。你是对的。但是,它显然没有找到任何表(信息:生成模式:总计:0)。我可以看到这个用户在松鼠客户端中的模式。知道为什么会发生这种情况吗?
  • 您使用的是最新版本的 jOOQ 吗?您是否指定了&lt;inputSchema/&gt; 元素,如下所述?
  • 2.3.1 是的,我确实指定了 inputSchema。它与mysql一起工作,我从那里开始。我还尝试使用大写的架构名称。
  • 您是否得到任何日志输出(例如,通过使用带有 DEBUG 级别的 log4j 和此示例 log4j.xml file)?此查询产生什么:SELECT * FROM SYSUSERS?请注意,您也可以使用jOOQ user group 提出支持请求
  • 好吧,它确实进行了查询,并返回了 759 个条目的结果(759 条记录被截断......)。我的用户不在列表中。
猜你喜欢
  • 2016-11-22
  • 2019-02-01
  • 2019-03-27
  • 2016-06-12
  • 1970-01-01
  • 2014-07-21
  • 2020-07-26
  • 2016-07-22
  • 2020-11-14
相关资源
最近更新 更多