diff --git a/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java b/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java index a8427ecca1..fdbe2110a9 100644 --- a/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java +++ b/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java @@ -10,6 +10,7 @@ import io.dataease.i18n.Translator; import io.dataease.plugins.common.base.domain.DeDriver; import io.dataease.plugins.common.base.mapper.DeDriverMapper; import io.dataease.plugins.common.constants.DatasourceTypes; +import io.dataease.plugins.common.constants.datasource.MySQLConstants; import io.dataease.plugins.common.dto.datasource.TableField; import io.dataease.plugins.common.request.datasource.DatasourceRequest; import io.dataease.plugins.datasource.entity.JdbcConfiguration; @@ -88,7 +89,11 @@ public class JdbcProvider extends DefaultJdbcProvider { } } DatabaseMetaData databaseMetaData = connection.getMetaData(); - ResultSet resultSet = databaseMetaData.getColumns(null, "%", datasourceRequest.getTable(), "%"); + String tableNamePattern = datasourceRequest.getTable(); + if(datasourceRequest.getDatasource().getType().equalsIgnoreCase(DatasourceTypes.mysql.name())){ + tableNamePattern = String.format(MySQLConstants.KEYWORD_TABLE, tableNamePattern); + } + ResultSet resultSet = databaseMetaData.getColumns(null, "%", tableNamePattern, "%"); while (resultSet.next()) { String tableName = resultSet.getString("TABLE_NAME"); String database; diff --git a/frontend/src/views/system/datasource/DsForm.vue b/frontend/src/views/system/datasource/DsForm.vue index 1b0dddac48..0894ddb6db 100644 --- a/frontend/src/views/system/datasource/DsForm.vue +++ b/frontend/src/views/system/datasource/DsForm.vue @@ -147,7 +147,8 @@ export default { acquireIncrement: 5, idleConnectionTestPeriod: 5, connectTimeout: 5, - customDriver: 'default' + customDriver: 'default', + queryTimeout: 30 }, apiConfiguration: [] },