提交 116694d1 authored 作者: 宋勇's avatar 宋勇

修改jdbc 主键bug

上级 4223d469
...@@ -160,7 +160,7 @@ public class AccessJdbcDataSourceChannel implements DataSourceChannelExt { ...@@ -160,7 +160,7 @@ public class AccessJdbcDataSourceChannel implements DataSourceChannelExt {
List<TableField> tableFields = new ArrayList<>(); List<TableField> tableFields = new ArrayList<>();
try (Connection connection = getConnection(requestParams, database)) { try (Connection connection = getConnection(requestParams, database)) {
DatabaseMetaData metaData = connection.getMetaData(); DatabaseMetaData metaData = connection.getMetaData();
String primaryKey = getPrimaryKey(metaData, database, table); // String primaryKey = getPrimaryKey(metaData, database, table);
String sql = String sql =
"select * from INFORMATION_SCHEMA.SYSTEM_columns where TABLE_NAME='" "select * from INFORMATION_SCHEMA.SYSTEM_columns where TABLE_NAME='"
...@@ -172,9 +172,9 @@ public class AccessJdbcDataSourceChannel implements DataSourceChannelExt { ...@@ -172,9 +172,9 @@ public class AccessJdbcDataSourceChannel implements DataSourceChannelExt {
TableField tableField = new TableField(); TableField tableField = new TableField();
String columnName = resultSet.getString("COLUMN_NAME"); String columnName = resultSet.getString("COLUMN_NAME");
tableField.setPrimaryKey(false); tableField.setPrimaryKey(false);
if (StringUtils.isNotBlank(primaryKey) && primaryKey.equals(columnName)) { // if (StringUtils.isNotBlank(primaryKey) && primaryKey.equals(columnName)) {
tableField.setPrimaryKey(true); // tableField.setPrimaryKey(true);
} // }
tableField.setType(resultSet.getString("TYPE_NAME")); tableField.setType(resultSet.getString("TYPE_NAME"));
if (typeList.contains(tableField.getType().toLowerCase())) { if (typeList.contains(tableField.getType().toLowerCase())) {
if (tableField.getType().toLowerCase().indexOf("text") < 0) { if (tableField.getType().toLowerCase().indexOf("text") < 0) {
......
...@@ -167,7 +167,7 @@ public class DamengJdbcDataSourceChannel implements DataSourceChannelExt { ...@@ -167,7 +167,7 @@ public class DamengJdbcDataSourceChannel implements DataSourceChannelExt {
List<TableField> tableFields = new ArrayList<>(); List<TableField> tableFields = new ArrayList<>();
try (Connection connection = getConnection(requestParams, database)) { try (Connection connection = getConnection(requestParams, database)) {
DatabaseMetaData metaData = connection.getMetaData(); DatabaseMetaData metaData = connection.getMetaData();
String primaryKey = getPrimaryKey(metaData, database, table); // String primaryKey = getPrimaryKey(metaData, database, table);
String sql = String sql =
" select * from SYSCOLUMNS where id in (select id from SYSOBJECTS where name='" " select * from SYSCOLUMNS where id in (select id from SYSOBJECTS where name='"
...@@ -179,9 +179,10 @@ public class DamengJdbcDataSourceChannel implements DataSourceChannelExt { ...@@ -179,9 +179,10 @@ public class DamengJdbcDataSourceChannel implements DataSourceChannelExt {
TableField tableField = new TableField(); TableField tableField = new TableField();
String columnName = resultSet.getString("NAME"); String columnName = resultSet.getString("NAME");
tableField.setPrimaryKey(false); tableField.setPrimaryKey(false);
if (StringUtils.isNotBlank(primaryKey) && primaryKey.equals(columnName)) {
tableField.setPrimaryKey(true); // if (StringUtils.isNotBlank(primaryKey) && primaryKey.equals(columnName)) {
} // tableField.setPrimaryKey(true);
// }
tableField.setType(resultSet.getString("TYPE$")); tableField.setType(resultSet.getString("TYPE$"));
if (typeList.contains(tableField.getType().toLowerCase())) { if (typeList.contains(tableField.getType().toLowerCase())) {
if (tableField.getType().toLowerCase().indexOf("text") < 0) { if (tableField.getType().toLowerCase().indexOf("text") < 0) {
...@@ -193,7 +194,7 @@ public class DamengJdbcDataSourceChannel implements DataSourceChannelExt { ...@@ -193,7 +194,7 @@ public class DamengJdbcDataSourceChannel implements DataSourceChannelExt {
} }
String extra = resultSet.getString("INFO2"); String extra = resultSet.getString("INFO2");
if (StringUtils.isNotBlank(extra) && extra.trim().equals("1")) { if (StringUtils.isNotBlank(extra) && extra.trim().equals("1")) {
tableField.setHasAutoIncrement(true); tableField.setPrimaryKey(true);
} }
tableField.setName(columnName); tableField.setName(columnName);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论