DELPHI中用TClientDataSet调用存储过程 OPEN超时

菜鸟求指点 2017-08-14 04:20:47
SQLSERVER2008写了一个存储过程
在SQL中调用
exec MSP_KC_QryCLDQKCS;1 'YCL','%','y','%','%','%','2017-07-25','2017-08-01','2017-08-14',0,'%',0
只需要1秒钟

但是在前端用TClientDataSet调用
需要1-2分钟


架构是这样的
SERVER端
一个TADOStoredProc 连接存储过程 ProcedureName= MSP_KC_QryCLDQKCS
一个TDataSetProvider指向TADOStoredProc

client端
TClientDataSet的ProcedureName指向SERVER端的 TDataSetProvider


架构没问题,整个ERP只有目前这个存储过程出现了这个问题

然后在客户端打开存储过程

with C_MSP_KC_QryCLDQKCS do
begin
disablecontrols;
close;
IndexFieldNames :='';
params[0].value := CKBH;
params[1].value := CLBH;
params[2].value := CLLB;
params[3].value := CLGG;
params[4].value := CLMC;
params[5].value := DJLX;
params[6].value := formatdatetime('yyyy-mm-dd',DB_PDRQ.date);
params[7].value := formatdatetime('yyyy-mm-dd',DB_QSRQ.date);
params[8].value := formatdatetime('yyyy-mm-dd',DB_JZRQ.date);
params[9].value := 0; //(用加权平均法07/05/28)
params[10].value := BCBH;
params[11].value:= TJFS;
open;
enablecontrols;
end;

然后会2分钟左右

DEBUG的话 会发现2分钟都在OPEN这部
一直未发现问题所在
请前辈们指点
...全文
410 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
doloopcn 2017-08-21
  • 打赏
  • 举报
回复
建议你通过视图方式进行查询 感觉是因为数据量的不断增大,你的存储过程会涉及到越大越大量的数据,占用越来越多的磁盘空间和内存空间 你在服务器里建立一个视频,在程序中把参数传给视频,让视图返回结果集,这样也许会提高稳定性。 因为,服务器会为视图分配更合理的资源及缓冲区的
菜鸟求指点 2017-08-15
  • 打赏
  • 举报
回复
引用 3 楼 lyhoo163 的回复:
要贴出存贮过程。
需要返回值 是一个查出材料一个时间段的汇总过程 根据盘点日期 查询起始日期 查询结止日期 早几天前 客户反应查询这个界面 还只要2秒左右 现在都需要1分钟 最近没人动过SQL跟程序 存储过程太长 上传不了 我分段试试
菜鸟求指点 2017-08-15
  • 打赏
  • 举报
回复
引用 2 楼 doloopcn 的回复:
你确定你的存储过程是返回结果集?没有贴存储过程的代码呢! 如果没有返回结果集,用ExecSQL方法,不要用Open
需要返回值 是一个查出材料一个时间段的汇总过程 根据盘点日期 查询起始日期 查询结止日期 早几天前 客户反应查询这个界面 还只要2秒左右 现在都需要1分钟 最近没人动过SQL跟程序 存储过程太长 上传不了
菜鸟求指点 2017-08-15
  • 打赏
  • 举报
回复
引用 1 楼 jjpweb 的回复:
AdoStoreProc1.CommandTimeout:=0;
这样虽然能查询 但是客户反映太慢了
lyhoo163 2017-08-15
  • 打赏
  • 举报
回复
要贴出存贮过程。
doloopcn 2017-08-14
  • 打赏
  • 举报
回复
你确定你的存储过程是返回结果集?没有贴存储过程的代码呢! 如果没有返回结果集,用ExecSQL方法,不要用Open
jjpweb 2017-08-14
  • 打赏
  • 举报
回复
AdoStoreProc1.CommandTimeout:=0;

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧