如何从备忘录字段中检索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());
}
答案 0 :(得分:1)
Progress(OpenEdge)有两个“个性” - SQL和4GL。
4GL(或“ABL”)引擎是最常用的,并不关心字段的宽度。所有数据都是可变宽度。宽度只是显示格式化的建议,程序员通常会忽略它。
当然,这会使SQL工具适合。
提供了一个工具来缓解您的痛苦 - “dbtool”将扫描数据库并调整“sql-width”以反映它在数据中找到的实际最大宽度。这通常在大多数使用SQL的Progress商店中定期运行(通常是每周或每月)。