gpt4 book ai didi

java - 添加 MariaDB 工件时 SchemaCrawler 出错

转载 作者:行者123 更新时间:2023-12-02 10:58:40 26 4
gpt4 key购买 nike

当我将其添加到 pom.xml 时:

    <!-- https://mvnrepository.com/artifact/us.fatehi/schemacrawler-mariadb -->
<dependency>
<groupId>us.fatehi</groupId>
<artifactId>schemacrawler-mariadb</artifactId>
<version>14.08.06</version>
</dependency>

然后我收到一个错误:

java.util.ServiceConfigurationError: schemacrawler.tools.databaseconnector.DatabaseConnector: Provider schemacrawler.server.mariadb.MariaDBDatabaseConnector could not be instantiated
..
Caused by: java.lang.NoSuchMethodError: schemacrawler.tools.databaseconnector.DatabaseConnector.<init>(Lschemacrawler/tools/databaseconnector/DatabaseServerType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

我正在尝试连接到 Oracle 数据库。如果我从 pom 中省略 MariaDb,这将有效。

我使用的是更高版本的 SchemaCrawler:

    <dependency>
<groupId>us.fatehi</groupId>
<artifactId>schemacrawler</artifactId>
<version>14.21.02</version>
</dependency>
<!-- https://mvnrepository.com/artifact/us.fatehi/schemacrawler-oracle -->
<dependency>
<groupId>us.fatehi</groupId>
<artifactId>schemacrawler-oracle</artifactId>
<version>14.21.02</version>
</dependency>

我希望在 pom.xml 中包含 MariaDB,并且仍然能够使用 SchemaCrawler 读取 Oracle。连接数据库后出现错误,如下代码最后一行:

        Connection dbConnection = DatabaseBroker.getDbConnection(
eventName,
cbDatabase.getValue(),
tConnectionString.getValue(),
tUsername.getValue(),
tPassword.getValue()
);

//Schema schema = SchemaCrawler.getSchema(dbConnection, SchemaInfoLevel.detailed(), new SchemaCrawlerOptions());
//SchemaCrawler sc = new SchemaCrawler(dbConnection, null);
try
{
Catalog catalog = SchemaCrawlerUtility.getCatalog(dbConnection, null);

最佳答案

您正在使用主 SchemaCrawler 库和 SchemaCrawler 数据库插件的不兼容版本。如果您要连接到 Oracle,则不需要 MariaDB 插件。事实上,即使类路径上没有 SchemaCrawler 数据库插件,SchemaCrawler 也可以与大多数数据库配合使用。

关于java - 添加 MariaDB 工件时 SchemaCrawler 出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51514984/

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