当前位置: 首页 > 图文教程 > 网络编程 > ASP > 借助组件使用asp连接informix全方案

ASP
用密码保护页面 (II)
用密码保护页面 (III)
简单的文件目录浏览源程序
ASP中的函数应用方法及应用举例(一)
ASP中的函数应用方法及应用举例(二)
完整的访问统计系统(一:数据库篇)
完整的访问统计程序(二 程序篇)
完整的访问统计程序(三 应用篇)
一个提供用户输入时期的绝好程序之(一)
一个提供用户输入时期的绝好程序之(二)
构建你的网站新闻自动发布系统之五
构建你的网站新闻自动发布系统之六
完整的访问统计程序(二 程序篇)
完整的访问统计程序(三 应用篇)
ASP环境下邮件列表功能的实现 (一)
ASP环境下邮件列表功能的实现 (二)
ASP环境下邮件列表功能的实现 (三)
ASP环境下邮件列表功能的实现 (四)
ASP进阶之文章在线管理更新(1)
ASP进阶之文章在线管理更新(2)

ASP 中的 借助组件使用asp连接informix全方案


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 60 ::
收藏到网摘: n/a

 

注意:本文方案适用于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