Home  >  Article  >  Database  >  ADODB.Connection (0x800A0E7A)未找到提供程序。该程序可能未正

ADODB.Connection (0x800A0E7A)未找到提供程序。该程序可能未正

WBOY
WBOYOriginal
2016-06-07 17:53:223134browse

ADODB 是 Active Data Objects Data Base 的简称,它是一种 PHP 存取数据库的中间函式组件。 虽然 PHP 是建构 Web 系统强有力的工具,但是 PHP 存取数据库的功能,一直未能标准化,每一种数据库,都使用另一种不同且不兼容的应用程序接口(API)。为了填补这个

  ADODB 是 Active Data Objects Data Base 的简称,它是一种 PHP 存取的中间函式组件。

  虽然 PHP 是建构 Web 系统强有力的工具,但是 PHP 存取数据库的功能,一直未能标准化,每一种数据库,都使用另一种不同且不兼容的应用程序接口(API)。为了填补这个缺憾,因此才有 ADODB 的出现。一旦存取数据库的接口予以标准化,就能隐藏各种数据库的差异,若欲转换至其它不同的数据库,将变得十分容易。

  目前 ADODB最新版本是V4.62,支持的数据库种类非常地多,例如:MySQL, PostgreSQL, Interbase, Informix, Oracle, MS SQL 7, Foxpro, Access, ADO, Sybase, DB2 以及一般的 ODBC (其中 PostgreSQL、Informix、Sybase 的driver 是由自由软件社群发展之后贡献出来的)。

  使用 ADODB 最大的优点之一是:不管后端数据库如何,存取数据库的方式都是一致的,开发设计人员不必为了某一套数据库,而必须再学习另一套不同的存取方法,这大大减轻开发人员的知识负担,过去的知识往后仍可继续使用,转移数据库平台时,程序代码也不必做太大的更动。

  其实 ADODB 这样的发展理念,并不是首创的,DBI 比 ADODB 出现得更早,它提供 Perl 存取数据库时,使用一致的 API 呼叫接口。相信用过 Perl + DBI 的朋友,再来用 ADODB 时,会有一种似曾相识的感觉。

    笔者ASP运行环境:操作系统为Windows XP SP2,IIS的版本为默认的5.1,数据库为SQL Server 2005(MDAC版本为2.8)

    出现此错误的原因是,Microsoft 数据访问组件 (MDAC) 所需的动态链接库 (DLL) 尚未注册。 
    ADODB.Connection (0x800A0E7A)的解决方法:单击开始,单击运行,然后键入 regsvr32 "c:\Program Files\Common Files\System\Ole DB\sqloledb.dll"
收到 DLL 成功注册的确认后,单击确定。 

查看更多精彩图片    但在后来跟其他同学交流的过程中,发现有的人尽管采用了此方法,ADODB.Connection (0x800A0E7A)的问题依然没有解决,经过一番调试,发现如果用在本机能够运行的ASP代码在对方机子上运行时,不会出现ADODB.Connection (0x800A0E7A)这个错误,很顺利,数据库连接上了,而且数据也写入了。将对方的代码拷贝到本机上运行时本机ADODB.Connection (0x800A0E7A)这个错误依然存在。仔细检查发现同学的代码存在错误。所以说,代码中有错误也会引起ADODB.Connection (0x800A0E7A)错误。

    下面附上一段测试代码,希望能对ADODB.Connection (0x800A0E7A)错误仍然存在的同仁们有所帮助。

    1.建立测试数据库

   查看更多精彩图片
    2.将下列代码拷贝到记事本,命名为test.asp,放到主目录下(注意其中的User ID和Password替换成你自己的用户名和密码)


 


  留言板
 
  '如果有接受到提交数据
 If Request.Form.Count>0 Then
  '定义数据库连接对象和数据记录集
  Dim objDB,strSQL,strConnString
  set objDB=Server.CreateObject("ADODB.Connection")
  '数据库连接字符串
  strConnString   =   "Provider = Sqloledb; User ID = sa; Password = sapassword; Initial Catalog = Test; Data Source = 127.0.0.1;"
  '连接数据库
  objDB.open strConnString
  '接收提交的各项数据
  Dim UserName,Contact,Detail
  UserName=Request.Form("UserName")
  Contact=Request.Form("Contact")
  Detail=Request.Form("Detail")
  '写SQL字符串,插入数据表
  strSQL="Insert Test(UserName,Contact,Detail)Values('"& UserName &"','"& Contact &"','"& Detail &"')"
  '执行SQL字符串
  objDB.Execute(strSQL)
  set objDB=nothing
 End If
 %>
 
  

   
    
     
     
    
    
     
     
    
    
     
     
    
    
     
    
   
留言人
联系方式
留言内容

      
      
     

  

 

    3.在地址栏输入127.0.0.1/test.asp,出现下面的界面

查看更多精彩图片

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn