注意:本文方案适用于asp通过自开发组件连接所有类型的数据库 现在某些企业的数据库用的是informix,多数开发者对这个数据库操作的比较少, 因为当前该公司已经被IBM吃掉,而IBM主推的是其DB2,不多述 使用olddb组件,通过server.createobject(“adodb.connection”)建立的连接,连 接都可以成功,但是速度是在满的让人惊慌,尤其数据条数超过2条的表,即使只 是查询一条,也几乎差不出来,整个asp主机的效率直线下降,内存占用增加。对 待此问题,我使用delphi写了一个简单的组件。 主要代码如下: interface uses type safecall; safecall; implementation uses ComServ; function Tbdeasp.open(const sqlstr, aliname: WideString): OleVariant; end; function Tbdeasp.execute(const sqlstr, connstr: WideString): OleVariant; end; 本程序中只写了最简单的两个方法 open,execute ,大家可以根据自己的需求添加 其他方法、属性等。 调用方法如下: rs使用方法与 adodb.recordset对象完全一样,经测试,速度明显加快!!!系统 消耗大量下降,2000万条的数据表,查询速度非常迅速。 欢迎大家实验!! –Sonic_qd 2003-10
unit main;
{$WARN SYMBOL_PLATFORM OFF}
ActiveX, Mtsobj, Mtx, ComObj, aspbde_TLB, StdVcl,DB,dbtables,SysUtils;
Tbdeasp = class(TMtsAutoObject, Ibdeasp)
protected
function open(const sqlstr, aliname: WideString): OleVariant;
function execute(const sqlstr, connstr: WideString): OleVariant;
{ Protected declarations }
end;
var
tmpre:variant;
begin
tmpre:=createoleobject(adodb.recordset);
try
tmpre.open(sqlstr,aliname);
except
result:=tmpre;
end;
var
tmpre:variant;
begin
tmpre:=createoleobject(adodb.connection);
try
tmpre.open(connstr);
tmpre.execute(sqlstr);
result:=1;
except
result:=0;
end;
initialization
TAutoObjectFactory.Create(ComServer, Tbdeasp, Class_bdeasp,
ciMultiInstance, tmBoth);
end.
ser var=server.createobject(“appname.bdeasp”)
set rs=var.open(“sql语句”,”数据库连接语句”)
借助组件使用asp连接informix全方案_asp技巧
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 借助组件使用asp连接informix全方案_asp技巧
相关推荐
- 暂无文章
