- 论坛徽章:
- 0
|
我也遇上同样的问题,我使用的是POSTGRES 8 FOR WIN的,我使用C++BUILDER6,BDE的组件中,当使用TQUERY时只要表内有CHAR或VARCHAR的字段都显示不出来,没掉了....用TTABLE就没问题,而且,这样的问题同样也出在BORLAND提供的SQL EXPLORER里,打开数据库后,在ENTER SQL里手工输入SQL语句,只要是涉及到CHAR或VARCHAR的字段,都不会显示.
我猜可能是POSTGREODBC 8.0的驱动问题.大家不知道有没有设置过ODBC的驱动,网上有一篇FAQ里说...
-------------------
为什么 varchar/char 数据类型在 Borland DBExplorer 里不能显示正确的精度 -或者- 为什么所有的l varchar/char 精度显示为 128?
当使用 6.4 协议时,这个问题应该不再存在。
在 Postgres 6.4 协议之前,后端在一个查询结果里面不返回 varchar/char 数据类型的大小,而 Borland 在简单查询和数据字典输入时非常倚赖这个数据。因此,我们开发了好几个驱动器选项来弥补这个缺陷。
Parse Statements option(分析语句选项)-- 驱动器分析 SQL 语句并且检索用于字段的字符,如 precision,nullability,aliases 等。
Unknown Sizes option(未知尺寸选项) -- "longest" 将返回基于结果集中所有行里面的最长数据的精度。
目前,如果分析语句选项打开了,如果分析器不能处理某个字段,它将退回到执行前的语句。因此,把未知尺寸设置为 "longest" 也是一个好主意。
什么样的驱动/数据源选项与 Borland 产品配合最好?
如果使用 Borland,考虑把下面高级驱动选项选上:
Data Type Options(数据类型选项):
选除 Text as LongVarchar
选除 Unknowns as LongVarchar
Parse Statements option(分析语句选项):打开它,如果使用早于 Postgres 6.4 的版本
Unknown Sizes Options(未知尺寸选项):设置为"Longest"
---------------------- |
|