为什么当执行Connection.Close时,数据库连接实际上没有立即断开?
为了把问题表现得更直接,这里使用了原生ADO对象,请测试以下代码:
var
Conn : Variant;
begin
Conn:=CreateoleObject('ADODB.CONNECTION');
Conn.Open('*******');
Conn.Close;
ShowMessage('Stop!');
end;
当弹出STOP!对话框时,不要关闭它,赶快到你的数据库服务器上看一下连接情况:该连接并没有被关闭!等待一分钟以后,才发现该连接自己断开。
这是什么原因?难道DELPHI调用ADO时会自己做个连接缓冲池,以备下次使用,所以执行CLOSE时并不立即关闭连接?的确如此,执行第二遍OPEN的时候,明显比第一遍快。我没有找到相关的说明,还请哪位大虾讲解一下。