如何使用进度数据库从备注字段中检索java中的数据

时间:2014-01-12 15:46:38

标签: java sql openedge progress-db

如何从备忘录字段中检索java中的数据,我正在使用进度数据库。但它给出了错误:

[DataDirect-Technologies][ODBC PROGRESS driver][PROGRESS]Column Doc_Desc in table PUB.GLDOCHDR has value exceeding its max length or precision.

写了像这样的代码:

selectSQL="select Doc_Desc from PUB.GLDOCHDR where Doc_Desc like '%:%' and Doc_Desc like '%@%'";

检索这样的数据:

rs = stmt.executeQuery(selectSQL);
while( rs.next())
{
    BufferedReader br = new BufferedReader(new InputStreamReader(rs.getAsciiStream("Doc_Desc")));                   
    System.out.println(br.readLine());
}

1 个答案:

答案 0 :(得分:1)

Progress(OpenEdge)有两个“个性” - SQL和4GL。

4GL(或“ABL”)引擎是最常用的,并不关心字段的宽度。所有数据都是可变宽度。宽度只是显示格式化的建议,程序员通常会忽略它。

当然,这会使SQL工具适合。

提供了一个工具来缓解您的痛苦 - “dbtool”将扫描数据库并调整“sql-width”以反映它在数据中找到的实际最大宽度。这通常在大多数使用SQL的Progress商店中定期运行(通常是每周或每月)。

http://knowledgebase.progress.com/articles/Article/P24496

http://knowledgebase.progress.com/articles/Article/P159769