Schemacrawler无法以JSON格式从DB2(和Oracle)服务器输出模式



我正在尝试使用SchemaCrawler来提取db2测试数据库上的模式信息。

当使用文本或html格式运行schema命令时,一切如预期:

./schemacrawler.sh --server=db2 --host=127.0.0.1 --port=50000 --database=sample --schemas=DB2INST1 --user="db2inst1" --password=password --info-level=standard --command=schema --tables='.*.P.*' 

System Information
========================================================================
generated by                              SchemaCrawler 16.9.2          
generated on                              2020-07-17 01:50:58.987909    

Tables
========================================================================

DB2INST1.PRODUCT                                                 [table]
------------------------------------------------------------------------
PID                               VARCHAR(10) NOT NULL        
NAME                              VARCHAR(128)                
PRICE                             DECIMAL(30, 2)              
PROMOPRICE                        DECIMAL(30, 2)              
PROMOSTART                        DATE                        
PROMOEND                          DATE                        
DESCRIPTION                       XML                         
Primary Key
PK_PRODUCT                                                 [primary key]
PID                                                           
Indexes
PK_PRODUCT                                                [unique index]
PID                               ascending                   
(... and so on ...)

现在,我想以JSON格式输出它,用于数据集成。因此,我尝试运行输出为json格式的schema命令,但失败了(此处为完整日志(:

SchemaCrawler 16.9.2
Error: Unknown command <schema>
Re-run SchemaCrawler with just the
-h
option for help
Or, re-run SchemaCrawler with an additional
--log-level=CONFIG
option for details on the error

我也用命令serialize尝试过,但也失败了(此处为完整日志(:

SchemaCrawler 16.9.2
Error: Unknown command <serialize>
Re-run SchemaCrawler with just the
-h
option for help
Or, re-run SchemaCrawler with an additional
--log-level=CONFIG
option for details on the error

顺便说一句,当在Oracle服务器上运行时,我也面临类似的问题。

因此,有两个问题:

  1. 如何以JSON格式从db2服务器提取模式信息
  2. 如何对Oracle服务器执行同样的操作

谢谢。

Sutandiono,

您完全可以为IBMDB2和Oracle数据库提取JSON格式的模式元数据。你的日志不完整,所以我看不到最后的堆栈。不过,我可以看到,您的类路径中有Jackson jar文件,这很好。除此之外,您可以尝试使用--output-format json的额外命令行参数。(请让我知道这是否有效。(在下一个SchemaCrawler版本中,您将收到一条更好的错误消息,如下所示;错误:命令"不支持输出格式;,这将对你有所帮助。

Sualeh Fatehi,SchemaCrawler

最新更新