开发midas中间件时,发现使用provider查询数据集时,无法捕获错误的sql语句(200分)

  • 主题发起人 主题发起人 fbyang
  • 开始时间 开始时间
F

fbyang

Unregistered / Unconfirmed
GUEST, unregistred user!
开发midas中间件时,发现使用tprovider查询数据集时,无法捕获错误的sql语句,同时造成数据库连接死锁!请问大虾们,如何解决?!
 
好象应该 SERVER 端跟踪才可以解决问题
 
最主要的是无法捕获sql的错误。
 
ResolveToDataSet 为 FALSE 是吗?
 
to mstar, ResolveToDataSet 是false,但是ResolveToDataSet主要针对提交数据的,我们现在遇到的问题是使用查询sql时,如果sql语句中有错误,比如select * from a where a.hh = 这样一个语句,只要提交到provider就死锁了,不再接受其他客户端的请求。我们看了provider的事件,没有发现有用来捕获错误的
 
有一个方法 你必须接管 DELPHI 的错误处理 自己来处理 方法如下
定义一个 PRIVATE 事件
procedure ExceptProc(Sender: TObject;
E: Exception);
实际代码如下
procedure TForm1.ExceptProc(Sender: TObject;
E: Exception);
procedure Write_Error(const Msg : string ) ;
begin
... ...
end ;
begin
Write_Error(E.Message);
// 记录错误信息到一个文件中去
end;

然后在你 FORM CREATE 的时侯 或者 系统启动的时候 加入下列代码
Application.OnException := ExceptProc ;
以后 就不会有这样的问题 [:)][:)]
 
mstar非常感谢,还有一些具体问题希望能和你快速交流!我的qq是59219167,恭候您的光临。
 
接受答案了.
 
后退
顶部