欢迎光临
我们一直在努力

借助组件使用asp连接informix全方案-ASP教程,组件开发

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

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

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

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

使用oledb组件,通过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万条的数据表,查询速度非常迅速。

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