修复进行中的SQL长度错误4GL 10.2B [英] Fixing sql length error in progress 4gl 10.2B

查看:104
本文介绍了修复进行中的SQL长度错误4GL 10.2B的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm trying to use the openedge jdbc connector to pull data from an existing progress db but im running into column width issues.

这是使我受阻的错误.

[DataDirect] [OpenEdge JDBC驱动程序] [OpenEdge]表PUB中的TabDisplayName列.菜单的值超过了其最大长度或精度.

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

我看过很多帖子,每个帖子都提供不同的建议,这就是我到目前为止所要做的:

I've looked at many posts, each offering different advice, and here's what I've given a go this far:

  1. 通过数据字典手动修改SQL宽度.
    • 我对PUB.Menu.TabDisplayName进行了快速检查,以查找最大44个字符的值
    • 将宽度设置为x(50)无济于事,然后将x(100)从非理性的愤怒中恢复过来,再次没有运气.
  1. Manually modify the SQL width via the data dictionary.
    • I ran a quick check on PUB.Menu.TabDisplayName to find a max value of 44 Characters
    • Set the width to x(50) to no avail and then x(100) out of a fix of irrational rage, again with no luck.
  • 我得到奇怪的结果.在sqlexp中它可以正常工作,但是在Java环境中,就像从未选择该列一样.
  • 选择所有表和区域"(不确定它们是什么...)并提交最终选项后,我将返回proenv cmdline,好像什么都没发生.
  • 这是我发现尚未尝试的唯一选择.
  • 我有点不愿意尝试此操作,因为手动修改失败了.同样,这是一个实时开发环境(仅对我而言),尽管我经常抓拍,我还是试图把它搞得一团糟.

在UNIX计算机上运行进度10.2B.

Running progress 10.2B on a unix machine.

任何评论和建议,将不胜感激.

Any comments and suggestions would be appreciated.

-谢谢

推荐答案

dbtool选项是最好的.为此而设计的.在proenv中,您应该会看到以下内容:

The dbtool option is the best. It is designed for this. From proenv you should see something like this:

proenv> dbtool s2k

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 =单用户1 =自助服务> 1 =#threads)? 1

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

超出当前最大值的填充百分比:100

Padding % above current max: 100

:(表号或全部)?全部

: (Table number or all)? all

:(区域号或全部)?全部

: (Area number or all)? all

:(详细级别0-3)? 0

: (verbose level 0-3)? 0

总记录读取:31357

Total records read: 31357

发现SQLWidth错误:0,发现日期错误:0

SQLWidth errors found: 0, Date errors found: 0

SQLWidth错误已修正:0

SQLWidth errors fixed: 0

如果您的数据库服务器已启动&运行时在connect:提示符下选择"1".如果没有,请选择"0".

If your db has a server up & running choose "1" at the connect: prompt. If not, choose "0".

选择100进行填充以使字段宽度加倍.

Pick 100 for padding to double the width of fields.

如果不确定,请在体育"数据库的副本上尝试.如果您想了解它的功能,请使用更高的详细程度.

Try it on a copy of the "sports" database if you are unsure. Use a higher level of verboseness if you want some insight into what it is doing.

在小型开发数据库上运行不需要很长时间. (基本上在体育"上是瞬时的.)

It does not take very long to run on a small development database. (It is basically instantaneous on "sports".)

这篇关于修复进行中的SQL长度错误4GL 10.2B的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆