小编ndw*_*dwd的帖子

无法识别 Spring Data JDBC Firebird 方言

我正在尝试使用 Spring Data JDBC 和 Spring Boot 连接到 Firebird 数据库。我使用 Spring Tools 创建了一个简单的应用程序。Spring Data JDBC 无法识别方言。我认为问题在于DialectResolver它不支持 Firebird。

private static Dialect getDialect(Connection connection) throws SQLException {

    DatabaseMetaData metaData = connection.getMetaData();

    String name = metaData.getDatabaseProductName().toLowerCase(Locale.ENGLISH);

    if (name.contains("hsql")) {
        return HsqlDbDialect.INSTANCE;
    }
    if (name.contains("h2")) {
        return H2Dialect.INSTANCE;
    }
    if (name.contains("mysql")) { // catches also mariadb
        return new MySqlDialect(getIdentifierProcessing(metaData));
    }
    if (name.contains("postgresql")) {
        return PostgresDialect.INSTANCE;
    }
    if (name.contains("microsoft")) {
        return SqlServerDialect.INSTANCE;
    }
    if (name.contains("db2")) {
        return Db2Dialect.INSTANCE;
    }
    return null;
}
Run Code Online (Sandbox Code Playgroud)

我是 …

firebird spring jaybird spring-boot spring-data-jdbc

6
推荐指数
2
解决办法
8612
查看次数