我们将 Delphi XE3 与 TSQLDataSet 和 TClientDataset 一起使用,将表从 SQL Server 2012 读入内存。
该表包含各种字段,其中一个是 blob“varbinary(max)”,我们在其中存储来自文本文件的内容。
我的问题是,当我们在 ClientDataset 上打开时,我们收到一条错误消息,说“连接正忙于处理另一个命令的结果”。命令文本是一个简单的“从表名中选择 *”。
仅当表中有多个项目时才会发生这种情况。仅当 blob 字段中有数据 (<> NULL) 时才会发生这种情况。
如果我们向表中添加第二个 varbinary 字段,一切正常。第二个字段不必包含任何数据。
这让我发疯,请帮助。
编辑:作为一种解决方法,我们只是在表中添加了一个“虚拟”varbinary 字段。由于这种奇怪的行为,我们得出结论,这一定是 TClientDataset 组件中的错误。尝试在旧版本的 delphi (XE2 SP3) 中执行相同的操作,结果相同。