[英]schemacrawler java.lang.NullPointerException: Catalog could not be retrieved
我嘗試將 schemacrawler 與 hsqldb 2.51 和 h2 2.x 一起使用,代碼如下:
final LimitOptionsBuilder limit = LimitOptionsBuilder.builder()
.includeSchemas(new IncludeAll())
.includeTables(new IncludeAll());
final LoadOptionsBuilder load = LoadOptionsBuilder.builder()
.withSchemaInfoLevel(SchemaInfoLevelBuilder.minimum());
final SchemaCrawlerOptions options = SchemaCrawlerOptionsBuilder.newSchemaCrawlerOptions()
.withLimitOptions(limit.toOptions())
.withLoadOptions(load.toOptions());
final Catalog catalog = SchemaCrawlerUtility.getCatalog(connection, options);
// throw NullPointerException
for (final schemacrawler.schema.Table t : catalog.getTables())
{
//more code...
}
如果沒有 NullPointerException 錯誤,我將無法獲取目錄。 我在類路徑中有兩個檔案:
如果有人有想法...
在更改了一些代碼后,我設法得到了一些有用的東西......
new LoggingConfig(Level.ALL);
final LimitOptionsBuilder limit = LimitOptionsBuilder.builder()
.includeSchemas(new IncludeAll())
.includeTables(new IncludeAll());
final LoadOptionsBuilder load = LoadOptionsBuilder.builder()
.withSchemaInfoLevel(SchemaInfoLevelBuilder.minimum());
final SchemaCrawlerOptions options = SchemaCrawlerOptionsBuilder.newSchemaCrawlerOptions()
.withLimitOptions(limit.toOptions())
.withLoadOptions(load.toOptions());
final SchemaRetrievalOptions retrieval = SchemaCrawlerUtility.matchSchemaRetrievalOptions(connection);
schemacrawler.crawl.SchemaCrawler crawler = new schemacrawler.crawl.SchemaCrawler(connection, retrieval, options);
final Catalog catalog = crawler.crawl();
for (final schemacrawler.schema.Table t : catalog.getTables())
{
//more code...
}
但是,第一個代碼總是給我同樣的錯誤......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.