【问题标题】:Does JOOQ Support SQL Server 2005 or SQL Server 2008 R2 in Code Generator?JOOQ 在代码生成器中是否支持 SQL Server 2005 或 SQL Server 2008 R2?
【发布时间】:2015-08-07 13:30:57
【问题描述】:

我一直在尝试为我的 SQL Server 数据库自动生成人工制品。它最初来自 SQL Server 2005,然后我在 JOOQ 的文档中没有找到,所以我在 2008 R2 上导入了它。但它仍然说同样的话:

1428 [main] WARN org.jooq.util.AbstractDatabase - No schemata were loaded : Please check your connection settings, and whether your database (and your database version!) is really supported by jOOQ. Also, check the case-sensitivity in your configured <inputSchema/> elements : [box_db]

能否请一些 JOOQ 专家指出我可以看到支持的 JOOQ 数据库的正确方向,或者直接回答。

这是在withInputSchemata 中尝试不输入 JOOQ 生成器的结果:

schema_name
---------------------
dbo
guest
INFORMATION_SCHEMA
sys
db_owner
db_accessadmin
db_securityadmin
db_ddladmin
db_backupoperator
db_datareader
db_datawriter
db_denydatareader
db_denydatawriter`

【问题讨论】:

  • jOOQ 3.x 支持的最低 SQL Server 版本是 SQL Server 2008 R2。 The official info can be found here。您能否显示使用 2008 R2 运行导入时收到的确切错误消息(例如堆栈跟踪)?我知道你说过很难得到这些信息,但没有它们,也很难提供帮助......
  • 您好@LukasEder,感谢您的回复。我现在掌握了我的互联网。所以这是我的代码。 [链接]pastebin.com/ku9an3Lb[link].错误信息是:1428 [main] WARN org.jooq.util.AbstractDatabase - No schemata were loaded : Please check your connection settings, and whether your database (and your database version!) is really supported by jOOQ. Also, check the case-sensitivity in your configured <inputSchema/> elements : [box_db].
  • @LukasEder 我也很想知道专业版在使用时会过期吗?我只是使用 SQLExpress,并想用它为第三方数据库生成人工制品。
  • 感谢您提供更多信息。我想我知道现在发生了什么。您能否将以下查询的结果添加到您的问题中? SELECT schema_name FROM information_schema.schematabox_db(小写)是结果的一部分吗?如果您在配置中将withInputSchema 留空,会发生什么情况?关于许可问题,我认为这与 Stack Overflow 无关,并且不受版主的赞赏。不过,如果有任何联系方式,我将非常乐意为您解答。
  • 您好,结果如下:link 结果。它不是结果的一部分。您可以通过 facebook joeffrey.biccay[@]gmail[dot]com 与我联系。

标签: sql-server sql-server-2008 sql-server-2005 sql-server-2008-r2 jooq


【解决方案1】:

我认为您的问题的答案在于代码生成器的错误消息。您显示的架构列表是由以下查询生成的

SELECT schema_name FROM information_schema.schemata

代码生成器在对数据库架构进行逆向工程时也会使用此查询。它不包含任何名为 box_db 的架构。

出现这种情况的原因有几个:

  • 您将“数据库”与“模式”混淆了。 jOOQ 的代码生成器仅过滤模式。
  • 您没有连接到正确的数据库
  • 您的数据库可能不包含架构
  • 您连接到数据库的用户没有访问该架构所需的权限

【讨论】:

  • 1. box_db 是我尝试连接的数据库 2. box_db 确实出现在我的对象资源管理器中。我不确定如果在我导入数据库时​​,模式也包括在内。 (直到你的回答,我只认为数据库和架构是同一件事) 3. sa 用户是我使用的安装时配置的主要用户。
  • 但是box_db 是数据库(对应于“目录”)还是模式? jOOQ 目前只内省模式。也许,您的表位于 dbo 架构中?
  • 正确。昨晚我想研究模式并将 dbo 作为我的表的前缀。我从未尝试过更改它并立即开始生成人工制品。谢谢卢卡斯!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多