欢迎光临
我们一直在努力

借助组件使用asp连接informix全方案_asp技巧

建站超值云服务器,限时71元/月

注意:本文方案适用于asp通过自开发组件连接所有类型的数据库


现在某些企业的数据库用的是informix,多数开发者对这个数据库操作的比较少,


因为当前该公司已经被IBM吃掉,而IBM主推的是其DB2,不多述


使用olddb组件,通过server.createobject(“adodb.connection”)建立的连接,连


接都可以成功,但是速度是在满的让人惊慌,尤其数据条数超过2条的表,即使只


是查询一条,也几乎差不出来,整个asp主机的效率直线下降,内存占用增加。对


待此问题,我使用delphi写了一个简单的组件。


主要代码如下:
unit main;
{$WARN SYMBOL_PLATFORM OFF}


interface


uses
  ActiveX, Mtsobj, Mtx, ComObj, aspbde_TLB, StdVcl,DB,dbtables,SysUtils;


type
  Tbdeasp = class(TMtsAutoObject, Ibdeasp)
  protected
    function open(const sqlstr, aliname: WideString): OleVariant;


safecall;
    function execute(const sqlstr, connstr: WideString): OleVariant;


safecall;
    { Protected declarations }
  end;


implementation


uses ComServ;


function Tbdeasp.open(const sqlstr, aliname: WideString): OleVariant;
var
  tmpre:variant;
begin
    tmpre:=createoleobject(adodb.recordset);
    try
     tmpre.open(sqlstr,aliname);
    except


    end;
    result:=tmpre;
end;


function Tbdeasp.execute(const sqlstr, connstr: WideString): OleVariant;
var
  tmpre:variant;
begin
    tmpre:=createoleobject(adodb.connection);
    try
     tmpre.open(connstr);
     tmpre.execute(sqlstr);
     result:=1;
    except
     result:=0;
    end;


end;



initialization
  TAutoObjectFactory.Create(ComServer, Tbdeasp, Class_bdeasp,
    ciMultiInstance, tmBoth);
end.


本程序中只写了最简单的两个方法 open,execute ,大家可以根据自己的需求添加


其他方法、属性等。


调用方法如下:
ser var=server.createobject(“appname.bdeasp”)
set rs=var.open(“sql语句”,”数据库连接语句”)


rs使用方法与 adodb.recordset对象完全一样,经测试,速度明显加快!!!系统


消耗大量下降,2000万条的数据表,查询速度非常迅速。


欢迎大家实验!!                  –Sonic_qd 2003-10

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 借助组件使用asp连接informix全方案_asp技巧
分享到: 更多 (0)

相关推荐

  • 暂无文章