gpt4 book ai didi

java - Schemacrawler 忽略无法访问的 schema

转载 作者:行者123 更新时间:2023-12-01 15:23:02 32 4
gpt4 key购买 nike

我目前正在使用 Schemacrawler收集有关各种数据库的信息。

我遇到的问题是运行应用程序的用户无法访问每个数据库。如果我尝试检索模式列表:

SchemaCrawlerOptions schemaCrawlerOptions = new SchemaCrawlerOptions();
schemaCrawlerOptions.setSchemaInfoLevel(SchemaInfoLevel.minimum());
schemaCrawlerOptions.setTableTypes(new TableType[] { TableType.table });

Database database = SchemaCrawlerUtility.getDatabase(connection, schemaCrawlerOptions);
database.getSchemas()

...抛出 SchemaCrawlerException(服务器主体“...”无法在当前安全上下文下访问数据库“...”。)。有没有办法只获取可访问的数据库(无需显式声明每个架构名称)?

最佳答案

根据您收到的异常,我假设您正在使用 SQL Server。您需要设置架构包含规则。您可以将其添加到上面的代码片段中:

schemaCrawlerOptions.setSchemaInclusionRule(new InclusionRule("schema_name.dbo.*", ""));

关于java - Schemacrawler 忽略无法访问的 schema,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10586436/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com