修复进行中的SQL长度错误4GL 10.2B [英] Fixing sql length error in progress 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:
- 通过数据字典手动修改SQL宽度.
- 我对PUB.Menu.TabDisplayName进行了快速检查,以查找最大44个字符的值
- 将宽度设置为x(50)无济于事,然后将x(100)从非理性的愤怒中恢复过来,再次没有运气.
- 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屋!