diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/JdbcExternalCatalog.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/JdbcExternalCatalog.java index 28897ca05c..753a5d6906 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/JdbcExternalCatalog.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/JdbcExternalCatalog.java @@ -130,6 +130,7 @@ public class JdbcExternalCatalog extends ExternalCatalog { @Override protected void initLocalObjectsImpl() { JdbcClientConfig jdbcClientConfig = new JdbcClientConfig() + .setCatalog(this.name) .setUser(getJdbcUser()) .setPassword(getJdbcPasswd()) .setJdbcUrl(getJdbcUrl()) diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/client/JdbcClient.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/client/JdbcClient.java index 1d3361549d..751965cc59 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/client/JdbcClient.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/client/JdbcClient.java @@ -52,6 +52,7 @@ public abstract class JdbcClient { private static final int HTTP_TIMEOUT_MS = 10000; protected static final int JDBC_DATETIME_SCALE = 6; + private String catalog; protected String dbType; protected String jdbcUser; protected URLClassLoader classLoader = null; @@ -93,6 +94,7 @@ public abstract class JdbcClient { } protected JdbcClient(JdbcClientConfig jdbcClientConfig) { + this.catalog = jdbcClientConfig.getCatalog(); this.jdbcUser = jdbcClientConfig.getUser(); this.isOnlySpecifiedDatabase = Boolean.parseBoolean(jdbcClientConfig.getOnlySpecifiedDatabase()); this.isLowerCaseTableNames = Boolean.parseBoolean(jdbcClientConfig.getIsLowerCaseTableNames()); @@ -160,7 +162,8 @@ public abstract class JdbcClient { try { conn = dataSource.getConnection(); } catch (Exception e) { - throw new JdbcClientException("Can not connect to jdbc", e); + throw new JdbcClientException("Can not connect to jdbc due to error: %s, catalog name: %s", e.getMessage(), + this.catalog, e); } return conn; } diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/client/JdbcClientConfig.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/client/JdbcClientConfig.java index 5c24e0298d..69dedd16d7 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/client/JdbcClientConfig.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/client/JdbcClientConfig.java @@ -21,6 +21,7 @@ package org.apache.doris.datasource.jdbc.client; import java.util.Map; public class JdbcClientConfig { + private String catalog; private String user; private String password; private String jdbcUrl; @@ -31,6 +32,15 @@ public class JdbcClientConfig { private Map includeDatabaseMap; private Map excludeDatabaseMap; + public String getCatalog() { + return catalog; + } + + public JdbcClientConfig setCatalog(String catalog) { + this.catalog = catalog; + return this; + } + public String getUser() { return user; }