我正在使用 Delphi XE7,Firemonkey Mobile。在 W32 和我的 Nexus4 (Android 4.4.4) 上都试过了。
问题:从客户端数据集加载图像时出现以下错误 1. 远程错误:[FireDAC]{Phys][fB]-306。命令文本不能为空。(连接) 2. 套接字错误,即使 CDS 已包含数据(无连接)
Firebird DB --> Firedac --> Datasnap [服务器] --> DBX 连接 --> DSProviderconnection --> Clientdatasets
服务器上的 datasetprovider 设置了以下选项: - poFetchBlobsOnDemand - poAllowCommandText
加载的字段确实是一个 blob 字段并且确实包含数据。
if DM_OD.CDS_QEmballage.FieldByName('AFBEELDING').IsBlob then
begin
if DM_OD.CDS_QEmballage.FieldByName('AFBEELDING').IsNull then
begin
showmessage('Empty!'); //for testing puropses
end
else
begin
try
BF := DM_OD.CDS_QEmballage.FieldByName('AFBEELDING') as TBlobfield;
BS := DM_OD.CDS_QEmballage.CreateBlobStream(BF, bmRead); //error message
self.Items[i].EmbalPic.LoadFromStream(BS);
finally
BS.Free;
end;
end;
end;