OpenEdge SQL ODBC 显示与本机 ABL 不同的列大小

OpenEdge SQL ODBC shows different column size than native ABL does

我正在使用 Progress OpenEdge ODBC 驱动程序 (peoe27.dll v07.16.0175) 将数据推送到 OpenEdge 数据库中。我遇到过这样一种情况,用户输入了一个 54 个字符长的字符串值,但在更新过程中被拒绝了,因为它超过了定义的列大小 50,如下面的第二张图片所示。

遗留系统管理员随后向我发送了一张屏幕截图,显示就 ABL 而言,同一 table 中同一列的宽度为 200 个字符。 (见第一张图)

有人解释一下吗? (除此之外,ABL 和 OpenEdge ODBC 是一个糟糕的平台...:P)

旧数据库管理员找到了答案。似乎有一些方法可以更改未以外部请求者可以看到的方式“发布”的 OpenEdge table 的架构。

显然有一个“dlc 中的 dbtool 实用程序”可以扫描并修复此问题。他研究了它并做到了。

如果您正在阅读本文时遇到类似问题,并且以上内容不足以让您通过,请私信我,我会获得更多详细信息。