安装SQL Server2K可能引发一个严重问题

server|问题

 

安装SQL Server之后可能

会导致访问邮箱失败

Article last modified on 2002-1-21

--------------------------------------------------------

The information in this article applies to:
Microsoft Active Directory Service Interfaces, version 2.5 Microsoft Data Access Components version 2.6
--------------------------------------------------------
现象
 

FrontEndServer是Exchange 2000服务器;

从某个时候起,在这台机器上调用微软的CDO或者CDOEX访问Exchange邮箱发生了异常!而且ADSI也工作不正常。

从外表上看,没有任何错误的迹象。

重现步骤如下:

Ø         VB中创建一个应用程序;

Ø         引用CDOEX.DLL;

Ø         代码写入:

         Set oMsg = CreateObject("CDO.Message")

         oMsg.DataSource.Open(“http://BackEndServer/public”)

则在第二行得到这样的错误:

 

Run-time error ‘-2147221164(80040154)’:

无法向注册表写入项

 

FrontEndServer 配置:

Windows Advanced Server 2000 内部版本号 2195:Service Pack 2

IE 版本:5.00.3315.1000 更新版本:SP2

CDOEX.DLL的版本号:6.0.4417.0

它所处的位置:C:\Program Files\Common Files\Microsoft Shared\CDO

 
原因
首先在FrontEndServer 安装了SQL Server 2000之前,我们可以使用CDOEX的IDataSource.Open打开用户邮箱的:

_ConnectionPtr pCon = NULL;

CComPtr <CDO::IFolder>pFldr;

CComPtr <CDO::IDataSource>pSource;

hr=pFldr.CoCreateInstance(L"CDO.Folder");

pFldr->get_DataSource(&pSource);

hr=pSource->Open(bstrURLInbox,

                                  (IDispatch*)pCon,

                                  adModeRead,

                                           adFailIfNotExists,

                                           adOpenSource,

                                           bstrUserDomainAccount,

                                           bstrUserPwd);

 

但是安装了SQL Server之后,MDAC就被更新到了version 2.6!!

 

由于Microsoft的过错,早期的一些MDAC组件被MDAC 2.6删除或者被覆盖掉了!!

 

而运行IDataSource.Open,是需要引用MDAC 2.5的这些被删除了的组件的,所以就会报出“Class Not Registered”的错误。

 

此时,如果运行下面的代码:

    Set con = CreateObject("ADODB.Connection")
    con.Provider = "ADsDSOObject"
    con.Open "ADs Provider"

最后一行会失败并报错:run-tim error 429 'ActiveX component can't create object'

这种情况被新闻组的人们称之为“ADSI toasting ADO”!!

 

这就是一个非常严重的问题了。你的要使用到以前的ADO的接口的程序可能都不行了!

 

所以,安装了SQL Server 2000之后,请一定从下列站点下载最新的MDAC安装包或者补丁。

http://www.microsoft.com/data/download_26sp1.htm

 

解决这个CDOEX的问题,就是下载并安装了MDAC 2.6 SP1 (2.61.7326.6).exe就可以了。

 
小结
在任何机器上安装SQL Server 2000时,都请注意这个问题!

一旦发现原来可以运行的程序现在爆出一些莫名其妙的错误,请先更新这台机器上的MDAC!打SQL Server 2000 SP1应该也可以,我想。

 

参考文献:

1.   《PRB: ADSI 2.5 and MDAC 2.6 Compatibility Issues (Q275917)》

2.   《INFO: Determining Which Version of ADSI Is Installed (Q216290)》

 

时间: 2024-10-27 02:55:23

安装SQL Server2K可能引发一个严重问题的相关文章

安装SQL Server 2000可能引发一个严重问题

现象 我的这台机器上调用微软的CDO或者CDOEX访问Exchange邮箱发生了异常!而且ADSI也工作不正常.从外表上看,没有任何错误的迹象. 重现步骤如下: VB中创建一个应用程序: 引用CDOEX.DLL: 代码写入: Set oMsg = CreateObject("CDO.Message") oMsg.DataSource.Open("http://BackEndServer/public") 则在第二行得到这样的错误: Run-time error '-

安装SQL SERVER 2000的注意事项

server 正确这些注意事项是安装SQL SERVER 2000的前提和保障: 1.关闭所有可能与SQL SERVER 2000系统有关的服务和应用程序.这包括所有利用到ODBC的应用程序,以及WINDOWS NT自带的IIS. 2.如果正在WINDOWS NT的事件查看器,先关闭该查看器. 3.如果运行管理或修改注册表的任何程序,如REGEDIT32,请先关闭. 4.如果是在WINDOWS NT上安装SQL SERVER 2000,并且希望以后能运行在服务器之间相互通讯的程序和服务,那么事先

安装SQL Server 2000

2.2.3 安装SQL Server 2000安装SQL Server 2000 比较简单,其过程与其它Microsoft Windows 系列产品类似.我们以安装SQL Server 2000 Standard Edition 为例,其安装过程及说明如下: ·将SQL Server 2000 的光盘放入光驱.如果有Autorun 功能,则会出现安装程序启动画面,否则直接运行光盘中的Autorun 程序.如果操作系统是Windows 95,则需要选择其中的I"nstall SQL Server

教你安装SQL Server2005示例数据库

安装SQL server 2005时,如果你选择的是默认安装,就不会安装AdventureWorks 数据库.因为许多教程和例子都需要用到AdventureWorks 数据库,所以安装AdventureWorks 数据库非常必要.本文将论述此数据库的获得和安装方法. 下载并安装AdventureWorks 首先,去微软官方网站下载AdventureWorksdb.msi,这是AdventureWorks 的安装程序.然后把此文件和相关文件复制到你的计算机上.AdventureWorksBI.ms

在虚拟机上安装SQL 2005 没有服务器名称

今天在虚拟机上做实验,安装SQL 05 没有服务器名称 在摆渡和谷哥两位大神的帮助下,找到解决方法 必须安装一个SQL补丁才行,前提是安装Microsoft .NET Framework 2.0 和Microsoft Core XML Services (MSXML) 6.0 默认正常安装了SQL Server 2005这两个都是安全完毕了的! 补丁是 SQLEXPR32_CHS.EXE和SQLEXPR_CHS.EXE 前者是32位的,后者是64位的,大家看自己需求进行下载 下载地址: http

安装SQL Server 2005的AdventureWorks

安装SQL server 2005时,如果你选择的是默认安装,就不会安装AdventureWorks 数据库.因为许多教程和例子都需要用到AdventureWorks 数据库,所以安装AdventureWorks 数据库非常必要.本文将论述此数据库的获得和安装方法. 下载并安装AdventureWorks 首先,去微软官方网站下载AdventureWorksdb.msi,这是AdventureWorks 的安装程序.然后把此文件和相关文件复制到你的计算机上.AdventureWorksBI.ms

安装SQL Server2005实例环境图解

对于大多数的数据库管理员和开发人员来说,安装并配置一个新的SQL Server是激动人心的任务,因为它可以带来全新的挑战和机会.安装只是众多新的学习最新的SQL Server版本的机会中的第一个.在这篇指南中,我们将会贯穿整个正确安装SQL Server 2005实例环境,以及当前的服务包(SP1)的全部步骤,这就开始吧! 关键的安装考虑 虽然大多数的SQL Server安装都使用了默认的参数,这样的话是一个简单的过程,但是没有理解安装参数的话,也会导致困惑或者将来安全攻击方面的问题.正因为如此

MS SQL入门基础:安装SQL Server 2000

2.2.3 安装SQL Server 2000 安装SQL Server 2000 比较简单,其过程与其它Microsoft Windows 系列产品类似.我们以安装SQL Server 2000 Standard Edition 为例,其安装过程及说明如下: ·将SQL Server 2000 的光盘放入光驱.如果有Autorun 功能,则会出现安装程序启动画面,否则直接运行光盘中的Autorun 程序.如果操作系统是Windows 95,则需要选择其中的I"nstall SQL Server

安装sql server 2008 报错等问题怎么解决

  问题1:安装sql server 2008 R2,安装过程中提示错误:此计算机上安装了 Microsoft Visual Studio 2008 的早期版本.请在安装 SQL Server 2008 前将 Microsoft Visual Studio 2008 升级到 SP1. 之前我的电脑上确实装了vs2008,于是我准备去下载一个SP1补丁包,一看800多M的大小,本来安装这个软件就已经很麻烦了,还得花时间下载,那有没有其他更好的办法呢?其实很简单,只需要改一下注册表即可,方法如下: