GG,JJ,小弟今天碰到个奇怪的问题,现象如下描述:
小弟用ADO开发个C/S,用一个ADO连接和多个存储过程完成功能,当程序频繁的读写数据库时,系统报“连接占线导致另一个命令”的错误提示,有时候很快可以看到错误提示,有时又运行比较久后才可看到,没有规律,跟踪调试也很麻烦,但是肯定是在执行一个存储过程(ADOStoredProc.Active:=true)时出错的。
系统的流程大致描述一下,程序中有个存储过程调用很频繁,10--100次/秒不等,可以设置,主要是扫描功能,查询数据库中的某个表,还有一些存储过程是写数据库中的同一个表。
小弟愚笨,请GG,JJ多多指教!
小弟用ADO开发个C/S,用一个ADO连接和多个存储过程完成功能,当程序频繁的读写数据库时,系统报“连接占线导致另一个命令”的错误提示,有时候很快可以看到错误提示,有时又运行比较久后才可看到,没有规律,跟踪调试也很麻烦,但是肯定是在执行一个存储过程(ADOStoredProc.Active:=true)时出错的。
系统的流程大致描述一下,程序中有个存储过程调用很频繁,10--100次/秒不等,可以设置,主要是扫描功能,查询数据库中的某个表,还有一些存储过程是写数据库中的同一个表。
小弟愚笨,请GG,JJ多多指教!
解决方案 »
- 救急!!“未指定的错误” help 不懂帮顶 谢了
- delphi record pchar类型 乱码问题。。。。。。。
- 主从表很简单的连问题
- 求电子书(简单)
- 高手请进,关于显示器分辨率的改变问题
- 一个query,loadfromfile一个txt文件,这个txt文件里存放着一些数据,其中有一个字段是a如果过滤掉a<2的数据?
- 请问这个sql语句错在那儿?
- Delphi7太夸张了,怎么一下子冒出了这么多的控件,比Delphi5多了一倍还多,请大家谈谈自己的看法,有分!
- 关于自定义OpenDialog的问题讨论
- 在DELPHI中用FORMAT如何将字符串1714格式化为17:14
- 关于版权,有经验的人进来说说体会,没有的进来坐坐!
- com+服务应用程序分发问题
气愤,就没人帮帮我!
这位大哥,能不能说详细些,什么叫“真正向数据库更新数据?”
我的程序里有个Timer,不停的执行一个存储过程,该存储过程的作用是读出Table表中的记录数,而另外有个函数在时不时的调用另一个存储过程(向Table表中插入记录),请问我怎么“真正向数据库更新数据”
procedure TimerTimer(Sender: TObject);
var Count:integer
begin
Count:=Scan; //Scan是一个函数,主要是执行一个查询的存储过程,查询数据库中的Table表中的记录数并返回,比较频繁执行10--100次/秒 不等
end;procedure InsertRecord(ID:integer;Content:string);
begin
SP_Insert; //插入记录到Table表的存储过程,8--10秒/次 (访问数据库不算过分吧)
end;
用的是同一个ADOConnection(程序启动后就连接到数据库了,直到程序结束才断开连接),错误提示就发生在Scan函数中ADOStoredProc.Active:=true这句话,但如果没有执行InsertRecord过程时,只执行OnTimer事件,系统不出错(在有限的时间中观察);如果停止OnTimer事件的执行,只执行InsertRecord过程,系统也不出错(在有限的时间中观察)。同时执行就报“连接占线导致另一个命令”的错误,是不是我要给这两个存储过程分别用一个连接??高手请指点!在线等待。