[QDB] FireDAC->QDB 转换过程中可能存在的问题

FireDAC <-> QDB 之间的转换器目前已经基本就绪,目前已知问题如下:

1、QDataSet 目前不支持数组类型的字段,所以,尝试转换时,相应的字段将无法完成。

2、由于 Extended 类型在 Win32 平台中,占用10个字节,而在其它平台,都等价于 Double 类型。QDB是通过目标编译平台的Extended宽度来决定如何加载内容,如果不匹配,可能会造成无法加载(实际上你用 FireDAC 自己的 TFDStanStorageBinLink 也会出错)。所以如果你是用 FireDAC 的二进制格式来传输数据,请避免使用 Extended 类型的字段,Json/XML 转换器不存在该问题,但是必需保证 Extended 类型字段存贮的值范围不超过 Double 类型的表示范围。

3、转换器不支持 FireDAC 的Exception、Constraints、 ViewList 和 RelationList 小节的导入导出,所以不要在导入含有该部分信息的数据集。

4、转换器只在 XE8 下测试,FireDAC 数据格式版本为 15。

5、FireDAC 对 PostgreSQL 的 abstime,reltime 类型支持有问题,打开包含该字段的结果集时会出错。而对于 time 类型,FireDAC会丢掉毫秒值(为啥?)

6、FireDAC 对PostgreSQL的 json 和 jsonb 类型不支持。

7、FireDAC 加载保存的数据流时,如果数据集的名称与当前数据集不一致,关闭再打开时,会存在两个不同的数据集,从而导致问题。至于数据集名称一致时是否存在该问题,目前不确定。

如果您在测试过程中发现其它问题,欢迎与作者联系。

分享到: