🐛 Fixing a bug. close #3575 代码生成器连接sqlserver报错,无法获取到库中的表

This commit is contained in:
qraddx committed 2022-01-18 15:01:41 +08:00
1 parent bde8bc0d6a
commit b533e6441b
2 files changed
+12 -17

No files matched your search

@@ -77,24 +77,17 @@ public class JdbcDynamicDataSourceProvider extends AbstractJdbcDataSourceProvide
if (DsConfTypeEnum.JDBC.getType().equals(confType)) {
url = rs.getString(DataSourceConstants.DS_JDBC_URL);
}
else if (DsJdbcUrlEnum.MSSQL.getDbName().equals(dsType)) {
// Druid Config
DruidConfig druidConfig = new DruidConfig();
druidConfig.setValidationQuery("select 'x'");
property.setDruid(druidConfig);
String host = rs.getString(DataSourceConstants.DS_HOST);
String port = rs.getString(DataSourceConstants.DS_PORT);
String dsName = rs.getString(DataSourceConstants.DS_NAME);
String instance = rs.getString(DataSourceConstants.DS_INSTANCE);
url = String.format(urlEnum.getUrl(), host, instance, port, dsName);
}
else {
String host = rs.getString(DataSourceConstants.DS_HOST);
String port = rs.getString(DataSourceConstants.DS_PORT);
String dsName = rs.getString(DataSourceConstants.DS_NAME);
url = String.format(urlEnum.getUrl(), host, port, dsName);
}
// Druid Config
DruidConfig druidConfig = new DruidConfig();
druidConfig.setValidationQuery(urlEnum.getValidationQuery());
property.setDruid(druidConfig);
property.setUrl(url);
map.put(name, property);
@@ -22,32 +22,34 @@ public enum DsJdbcUrlEnum {
"jdbc:mysql://%s:%s/%s?characterEncoding=utf8"
+ "&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true"
+ "&useLegacyDatetimeCode=false&allowMultiQueries=true&allowPublicKeyRetrieval=true",
"mysql8 链接"),
"select 1", "mysql8 链接"),
/**
* pg 数据库
*/
PG("pg", "jdbc:postgresql://%s:%s/%s", "postgresql 链接"),
PG("pg", "jdbc:postgresql://%s:%s/%s", "select 1", "postgresql 链接"),
/**
* SQL SERVER
*/
MSSQL("mssql", "jdbc:sqlserver://%s\\%s:%s;database=%s;characterEncoding=UTF-8", "sqlserver 链接"),
MSSQL("mssql", "jdbc:sqlserver://%s:%s;database=%s;characterEncoding=UTF-8", "select 1", "sqlserver 链接"),
/**
* oracle
*/
ORACLE("oracle", "jdbc:oracle:thin:@%s:%s:%s", "oracle 链接"),
ORACLE("oracle", "jdbc:oracle:thin:@%s:%s:%s", "select 1 from dual", "oracle 链接"),
/**
* db2
*/
DB2("db2", "jdbc:db2://%s:%s/%s", "DB2 TYPE4 连接");
DB2("db2", "jdbc:db2://%s:%s/%s", "select 1 from sysibm.sysdummy1", "DB2 TYPE4 连接");
private final String dbName;
private final String url;
private final String validationQuery;
private final String description;
public static DsJdbcUrlEnum get(String dsType) {