繁体   English   中英

Delphi FireDac 获取 BLOB

[英]Delphi FireDac Fetching BLOBs

我正在使用 FireBird 2.5、Delphi XE3 和 FireDAC 组件来访问来自 DB 的数据。 数据库设置为 UTF8 字符集。 由于 FirebBird 2.5 中的最大行大小限制为 64kb,我将一些“附加信息”字段类型使用 BLOB 和 TEXT 子类型。 BLOB 字段会减慢获取数据的速度,这对我来说很清楚,这就是为什么在大型详细评论中我试图更快地显示数据/没有斑点。

问题在于FireDAC QueryFetchOptions->Items没有[fiBlobs] 从获取项目中删除 [fiBlobs] 也会从所有大小 > 250 个字符的 StringField 中删除数据。

Blob 字段声明为 TADWideMemoField,Varchar 字段为 TADStringField,那么为什么 FireDac 将 StringField(即 VARCHAR(300))视为 BLOB 以及如何避免此问题? 如何获取所有 varchar 字段的数据?

在连接或查询(它具有优先级)对象上设置此属性:

FormatOptions.InlineDataSize := MAXINT;

我在 FireDAC 版本上进行了测试。 7.0.1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM