我尝试在hsqldb 2.51和h2 2.x中使用schemacrawler,代码如下:
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错误,我无法获得目录。我在类路径中有两个档案:
如果有人有主意..。
发布于 2022-03-21 01:30:16
在更改了一些代码之后,我成功地得到了一些有用的东西.
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...
}然而,第一个代码总是给我同样的错误..。
https://stackoverflow.com/questions/71521657
复制相似问题