DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: pixelcraft
今日帖子: 46
在线用户: 23
导航: 论坛 -> 数据库专区 斑竹:liumazi,waterstone  
作者:
男 loongx (loong) ▲▲▲▲▲ -
普通会员
2017/10/31 14:54:22
标题:
求助高手:Datasnap使用FDStoredproc不支持大数据? 浏览:1720
加入我的收藏
楼主:  Datasnap服务器客户端使用firedac,参照官方Samples,使用FDStoredproc,数据记录几百能正常显示,达到几千就报[Firedac][Stan]-710.Invalid binary storage format.网上没有这方面的范例,求高手帮忙解答,谢谢!
----------------------------------------------
-
作者:
男 ccxpts (渔夫) ★☆☆☆☆ -
普通会员
2017/10/31 17:43:07
1楼: 贴代码
----------------------------------------------
-
作者:
男 leisure520 (高家坳小宝) ▲▲▲▲▲ -
普通会员
2017/10/31 18:04:03
2楼: 可能是数据出错了,比如数据库可能存在null 空值,或者不是个正常的数据,
----------------------------------------------
-
作者:
男 loongxiao (loong) ▲▲▲▲▲ -
普通会员
2017/10/31 20:27:44
3楼: 服务端:
function TServerMethods.StreamGet: TStream;
begin
  Result := TMemoryStream.Create;
  try
    qCustomers.Close;
    qCustomers.Open;
    qOrders.Close;
    qOrders.Open;
    FDSchemaAdapter.SaveToStream(Result, TFDStorageFormat.sfBinary);
    Result.Position := 0;
  except
    raise;
  end;
end;
客户端:
procedure TClientForm.GetTables;
var
  LStringStream: TStringStream;
begin
  FDStoredProcGet.ExecProc;
  LStringStream := TStringStream.Create(FDStoredProcGet.Params[0].asBlob);
  try
    if LStringStream <> nil then
    begin
      LStringStream.Position := 0;
      DataModuleFDClient.FDSchemaAdapter.LoadFromStream(LStringStream, TFDStorageFormat.sfBinary);
    end;
  finally
    LStringStream.Free;
  end;
end;

同样的数据库客户端使用firedac大数据就报错,而客户端使用DBX就没有问题
----------------------------------------------
-
作者:
男 hnxxcxg (咏南中间件) ★☆☆☆☆ -
盒子活跃会员
2017/11/1 7:31:23
4楼: DATASNAP远程方法返回TSTREAM,数据包有32K最大限制,超过的,客户端要拼包处理才能OK。你客户端的代码却没有拼包处理。你的问题本身也是错误的。
----------------------------------------------
中间件QQ群: 92449782 博客: http://www.cnblogs.com/hnxxcxg/
作者:
男 loongxiao (loong) ▲▲▲▲▲ -
普通会员
2017/11/1 12:42:11
5楼: 客户端拼包如何处理,请贴点代码,非常感谢!
----------------------------------------------
-
作者:
男 loongxiao (loong) ▲▲▲▲▲ -
普通会员
2017/11/1 20:40:59
6楼: 求助,帖子不要沉了,请高手指点,谢谢!
----------------------------------------------
-
作者:
男 hnxxcxg (咏南中间件) ★☆☆☆☆ -
盒子活跃会员
2017/11/2 7:07:54
7楼: 解决办法在这里:http://www.cnblogs.com/hnxxcxg/p/7770471.html
----------------------------------------------
中间件QQ群: 92449782 博客: http://www.cnblogs.com/hnxxcxg/
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
2017/11/2 8:48:20
8楼: 楼上您的代码,我无法理解。
可能是什么  EMB 的设计特点吧。
反正我用 RO SDK 。
他会帮我自动处理好的。
大于 32K 的流也没问题。

比如一个接口,向服务器发送 指定大小的流。
我可以发 4K 的 64K 的 1个G 的,都可以。
当然,容量太大的话,等待时间就长,用简单的调用 会超时。
采用异步的 就不会出问题。
----------------------------------------------
(C)(P)Flying Wang
作者:
男 sxqwhxq (步惊云) ★☆☆☆☆ -
普通会员
2018/4/13 14:47:28
9楼: 根据就没有什么32K大小限制一说,我从服务器取回1万条记录,或者从服务器取出500K以上图片,没有任何问题。
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行191.4063毫秒 RSS