在三層程序中執行一個存儲過程奇慢?(20分)

  • 主题发起人 主题发起人 autojet
  • 开始时间 开始时间
A

autojet

Unregistered / Unconfirmed
GUEST, unregistred user!
做了一個存儲過程,在SQL 查詢分析器中執行約需六分鐘,但在三層結構的客戶端調用時,
卻需要三十分鐘還多,我在存儲過程中已使用Set Nocount NO/OFF,請問大蝦這是什么原因?
 
从来没有遇到过这么慢的速度。是SQL SERVER还是ORACLE。
 
不要刻舟求剑,程序应该没问题,找找其他的原因
 
Sql2000?用事件探查器跟踪一下
 
我也碰到过了,看到一个说是什么因为你的存储过程是在文本格式如txt文档里拷出来
的,然后在运行中要转成unionxx型字符串的原因,说要先拷到查询器上执行,然后再
拷到存储过程,我没试过,不懂是不是真,你试试,试好给我个回声
 
我也有个类似的问题:
在delphi中执行时间较长的存储过程,经常死机,
请问怎么解决?
存储过程在查询分析器中也要半个小时以上!
 
楼主用的是繁体中文的windows吗
能不能发一个繁体的Windows98给我,谢谢
jiancn@163.net
 
请问Delphi如何调用函数(非存储过程)?
var
spcExec: TStoredProc;
iLoop, iParamCount : Integer;
begin
spcExec:=TStoredProc.create(application);
Try
Try
spcExec.DatabaseName := 'dbDemo';
spcExec.StoredProcName := UpperCase('f_Demo');
Try
spcExec.Active:=True;
Except
end;
iParamCount := spcExec.ParamCount;
With spcExecdo
begin
Close;
for iLoop:= 1 to ParamCountdo
//假设函数没有Out形的参数
begin
Params[iLoop].AsString:='Test';
//!!!此处异常
end;
Prepare;
ExecProc;
end;
Except
on E:Exceptiondo
begin
ShowMessage('Error');
end;
end;
Finally
spcExec.Free;
end;
end;


 
接受答案了.
 
后退
顶部