gpt4 book ai didi

jdbc - 修复正在进行的 sql 长度错误 4gl 10.2B

转载 作者:行者123 更新时间:2023-12-04 00:45:03 32 4
gpt4 key购买 nike

我正在尝试使用 openedge jdbc 连接器从现有进度数据库中提取数据,但我遇到了列宽问题。

这是阻碍我的错误。

[DataDirect][OpenEdge JDBC Driver][OpenEdge] Column TabDisplayName in table PUB.Menu has value exceeding its max length or precision.

我看了很多帖子,每个帖子都提供了不同的建议,下面是我到目前为止所做的:

  1. 通过数据字典手动修改 SQL 宽度。
    • 我对 PUB.Menu.TabDisplayName 进行了快速检查,发现最大值为 44 个字符
    • 将宽度设置为 x(50) 无济于事,然后出于非理性的愤怒而设置为 x(100),同样没有运气。
  2. 使用 SUBSTR() SQL 函数截断字段-不是最优但总比没有好
    • 我得到了奇怪的结果。它在 sqlexp 中运行良好,但在 java 环境中,它从未选择过该列。
  3. 使用 dbtool 自动修复选项 #2 的宽度问题
    • 在选择所有表和“区域”(不确定它们是什么...)并提交最终选项后,我返回到 proenv cmdline,就好像什么都没发生过一样。
  4. 通过 4gl 以编程方式修改 sql 宽度
    • 这是我发现尚未尝试过的唯一选择。
    • 我有点不愿意尝试这个,只是因为手动修改失败了。此外,这是一个实时开发环境(仅对我而言),尽管我会定期拍照,但我还是想把它搞得一团糟。

在 unix 机器上运行 progress 10.2B。

如有任何意见和建议,我们将不胜感激。

-谢谢

最佳答案

dbtool 选项是最好的。它是为此而设计的。从 proenv 你应该看到这样的东西:

proenv> dbtool s2k

       DATABASE TOOLS MENU - 10.2B
---------------------------

1. SQL Width & Date Scan w/Report Option
2. SQL Width Scan w/Fix Option
3. Record Validation
4. Record Version Validation
5. Read or Validate Database Block(s)
6. Record Fixup
7. Schema Validation
9. Enable/Disable File Logging
Q. Quit

Choice: 2

: (0=single-user 1=self-service >1=#threads)? 1

Padding % above current max: 100

: (Table number or all)? all

: (Area number or all)? all

: (verbose level 0-3)? 0

Total records read: 31357

SQLWidth errors found: 0, Date errors found: 0

SQLWidth errors fixed: 0

如果您的数据库已启动并运行服务器,请在连接:提示符处选择“1”。如果不是,请选择“0”。

选择 100 作为填充以将字段宽度加倍。

如果您不确定,请在“体育”数据库的副本上尝试一下。如果您想深入了解它在做什么,请使用更高级别的详细信息。

在小型开发数据库上运行不需要很长时间。 (在“运动”上基本是瞬时的。)

关于jdbc - 修复正在进行的 sql 长度错误 4gl 10.2B,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11998342/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com