本人利用delphi开发的asp组件封装了对数据库的连接,
有个全局的connection,在onstartpage方法中打开,
在onendpage方法中关闭.
但是在使用过程中过一段时间就会报错:
ora-00020 maximum number of processes(600)
为什么我使用connection.close方法关闭的连接
都没有真的被关闭,导致连接数超过设置的process
呢?
求助!非常着急
有个全局的connection,在onstartpage方法中打开,
在onendpage方法中关闭.
但是在使用过程中过一段时间就会报错:
ora-00020 maximum number of processes(600)
为什么我使用connection.close方法关闭的连接
都没有真的被关闭,导致连接数超过设置的process
呢?
求助!非常着急
解决方案 »
- 如何在delphi下画二维坐标系?菜鸟提问
- 如何取ComboBox.Text里面的数字。
- 如何在delphi中声明使用API函数
- 再不进来就出人命了!!!
- 如何使用fastreport打印stringgrid时,强制换页(up有分)?
- DBGIRDEH在添加新数据时的问题.进来看看....
- 发票打印问题,各位给点儿建议。
- 删除Access数据出错,在MsADO15.DLL中,是不是MsADO15.DLL已损坏?哪里可找到?
- 银行代交费后,企业能获得银行的什么信息?怎样获得?有无相关资料?
- 调试程序过程中如何一次看到所有变量的值,请各位多多指教?
- 用dbgrid显示adoquery查询的图片,达人进!
- 如何判断themeengine控件的版本号
ComObj, ActiveX, web_bas_jin_TLB, StdVcl,asptypelibrary_tlb,adodb,variant;type
Tbas_jin = class(TAutoObject, Ibas_jin)
protected
con:olevariant;
svr:Iscriptingcontext;
function ReturnRecordset(sql:widestring): OleVariant; safecall;
procedure Onstartpage(const unk: IUnknown); safecall;
procedure OnEndpage();safecall;
{ Protected declarations }
end;implementationuses ComServ ;procedure Tbas_jin.Onstartpage(const unk: IUnknown);
begin
svr:=unk as iscriptingcontext;
con:=createoleobject("adodb.connection")
con.connectionstring:=".......";
con.connected:=true;
end;
function ReturnRecordset(sql:widestring): OleVariant;
var rs: variant;
begin
rs:=createoleobject("adodb.recordset")
rs.connection:=con;
rs.open(sql,con,1,1,1);
result:=rs;
end;procedure OnEndpage();
begin
svr:=nil;
con.close;
con.free;end; initialization
TAutoObjectFactory.Create(ComServer, Tbas_jin, Class_bas_jin,
ciMultiInstance, tmBoth);
end.
con.free;
con:=nil;
这样试试