2017-06-13 44 views
0

我試圖對兩個Oracle數據庫進行比較 - 我正在運行一個關於兩個不同模式名稱的報告 - 在我的例子中是一個模式前綴。例如。使用:我可以讓schemacrawler忽略模式名稱嗎?

-schemas=FOO.* 

然後

-schemas=BAR.* 

有從報告中隱藏該前綴的一種方式,所以它不會顯示爲比較兩個報告時一個明顯的區別?

我知道我可以使用除了「不重要」的文本比較功能,但它會很高興來彌補這一前期。

我有我缺少明顯的東西的感覺,也或許沒有人需要以此爲架構名稱是相當基本的。我想我只是在跨模式進行比較。

如果是在幫助,我可能已經誤解了我已閱讀。

任何提示將受到歡迎。

非常感謝。

回答

0

。當然,這是在明顯的地方回答...

SchemaCrawler HowTo

如何隱藏在文本輸出

更改爲SchemaCrawler配置目錄和架構名稱 schemacrawler.format.show_unqualified_names =在 schemacrawler.config.properties文件屬實。此設置將顯示 數據庫對象(如表和項目)的非限定名稱。 也就是說,目錄和模式名稱將不會顯示。小心使用 ,特別是如果您有外鍵引用 其他模式中的表或同義詞。

然而,在我的情況,產量爲實際返回SQL和程序等內,所以是什麼DB持有的基礎。 據我所見,我最好的方法是使用Beyond Compare或類似的東西去除這些小字符串以幫助進行比較。

+0

你確定你使用的是甲骨文SchemaCrawler插件?如果是,那麼[額外的SQL](https://github.com/sualeh/SchemaCrawler/blob/master/schemacrawler-oracle/src/main/resources/schemacrawler-oracle.show_unqualified_names.sql)應該已經執行了,阻止架構名稱在元數據中出現 –

+0

@SualehFatehi我實際上不確定我是否。我目前使用命令'schemacrawler.cmd -server = oracle'或者插件是單獨的嗎?我是否需要使用源代碼?詳細程度意味着我正在選擇實際的sql - 或者只是元數據,因爲我看到的東西就像FROM FOO .. JOIN FOO .. (注意:我的數據庫知識不是很好,所以我可能會做愚蠢的事情!) – Ads

+0

使用-loglevel = ALL開啓日誌記錄,並檢查插件是否正在加載。 –

相關問題