1

我一直在試圖爲我的SQL Server數據庫自動生成工件。它最初來自SQL Server 2005,然後我沒有在JOOQ的文檔中找到,所以我將它導入到2008 R2。但隨後其仍說同樣的事情:JOOQ是否支持代碼生成器中的SQL Server 2005或SQL Server 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` 
+0

jOOQ 3.x支持的最低SQL Server版本是SQL Server 2008 R2。 [官方信息可以在這裏找到](http://www.jooq.org/legal/licensing#databases)。您能否顯示在您使用2008 R2進行導入時所獲得的確切錯誤消息(例如堆棧跟蹤)?我知道你說這很難得到這些消息,但沒有它們,它也將很難幫助... –

+0

你好@LukasEder,感謝你的回覆。我現在掌握了我的互聯網。所以這是我的代碼。 [鏈接] http://pastebin.com/ku9an3Lb [鏈接]。並且錯誤消息是:'1428 [main] WARN org.jooq.util.AbstractDatabase - 沒有加載模式:請檢查你的連接設置,以及你的數據庫(和你的數據庫版本!)是否真的被jOOQ支持。另外,檢查配置的元素中的區分大小寫:[box_db]'。 –

+0

@LukasEder我也很好奇知道專業版在使用時會如何過期?我只是使用SQLExpress並且只是想用它來爲第三方數據庫生成工件。 –

回答

2

我想回答你的問題在於,從代碼生成的錯誤消息。你已經顯示模式的名單已通過下面的查詢

SELECT schema_name FROM information_schema.schemata 

此查詢也使用代碼生成反向工程數據庫模式時產生。它不包含任何稱爲box_db的模式。

有幾個原因,這可能是這種情況:

  • 您與「模式」混淆了「數據庫」。 jOOQ的代碼生成器僅對模式進行過濾。
  • 你沒有連接到正確的數據庫
  • 您的數據庫可能不包含架構
  • 用戶要連接到數據庫沒有所需的權限來訪問該模式
+0

1. box_db是我試圖連接的數據庫 2. box_db肯定會顯示在我的對象瀏覽器中。我不確定如果在導入數據庫時​​,模式也包含在內。 (直到你的答案,我只認爲DB和模式是一樣的) 3.'sa'用戶是在我使用的安裝中配置的主要用戶。 –

+1

但是'box_db'數據庫(對應於「目錄」)還是模式? jOOQ目前只反思了這個模式。也許,你的表位於'dbo'模式中? –

+1

正確。我昨天晚上研究了關於模式的問題,並將dbo看作是我桌子的前綴。我從來沒有試圖改變它,並開始立即產生文物。謝謝盧卡斯! –

相關問題