提交 c5e2da62 authored 作者: Thomas Mueller's avatar Thomas Mueller

Linked tables: for NUMERIC column, Oracle reports precision 0 and scale -127. A…

Linked tables: for NUMERIC column, Oracle reports precision 0 and scale -127. A workaround has been implemented (the same as for DECIMAL columns in version 1.3.150).
上级 8970b560
...@@ -162,6 +162,7 @@ public class TableLink extends Table { ...@@ -162,6 +162,7 @@ public class TableLink extends Table {
long precision = rsMeta.getPrecision(i + 1); long precision = rsMeta.getPrecision(i + 1);
precision = convertPrecision(sqlType, precision); precision = convertPrecision(sqlType, precision);
int scale = rsMeta.getScale(i + 1); int scale = rsMeta.getScale(i + 1);
scale = convertScale(sqlType, scale);
int displaySize = rsMeta.getColumnDisplaySize(i + 1); int displaySize = rsMeta.getColumnDisplaySize(i + 1);
int type = DataType.convertSQLTypeToValueType(sqlType); int type = DataType.convertSQLTypeToValueType(sqlType);
Column col = new Column(n, type, precision, scale, displaySize); Column col = new Column(n, type, precision, scale, displaySize);
...@@ -265,6 +266,7 @@ public class TableLink extends Table { ...@@ -265,6 +266,7 @@ public class TableLink extends Table {
// for DECIMAL columns, the reported precision is 0 // for DECIMAL columns, the reported precision is 0
switch (sqlType) { switch (sqlType) {
case Types.DECIMAL: case Types.DECIMAL:
case Types.NUMERIC:
if (precision == 0) { if (precision == 0) {
precision = 65535; precision = 65535;
} }
...@@ -287,6 +289,7 @@ public class TableLink extends Table { ...@@ -287,6 +289,7 @@ public class TableLink extends Table {
// for DECIMAL columns, the reported precision is -127 // for DECIMAL columns, the reported precision is -127
switch (sqlType) { switch (sqlType) {
case Types.DECIMAL: case Types.DECIMAL:
case Types.NUMERIC:
if (scale < 0) { if (scale < 0) {
scale = 32767; scale = 32767;
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论