用户名: 密码: 免费注册 忘记密码? 网站地图 | 加入收藏 | 设为首页
首页 | 新闻 | 工具 | 系统 | 办公 | 聊天 | 多媒体 | 网页 | 运营 | 平面 | 欣赏 | 数据库 | 程序 | 服务器 | 组网
网页 | 3dmax | Ghost | Windows Xp| Dreamweaver | photoshop | Flash | office | Alexa | Css | QQ | Asp | PHP | Jsp | Access
Flash MX 2004入门 | 网站推广策略 | CorelDRAW入门 | ASP学习 | 网站建设大师功 | Word入门
  iTbulo.com > 学院 > 数据库开发教程 > Mssql教程 > Mssql使用技巧 > 文章正文
安装SQLServer2K可能引发一个严重问题
iTbulo.COM 2005-9-3 zhengyun_ustc()

 www.chinai tp ow er.com采集不要钱59wLk

安装SQL Server之后可能www.chinai tp ow er.com采集不要钱59wLk

会导致访问邮箱失败www.chinai tp ow er.com采集不要钱59wLk

Article last modified on 2002-1-21www.chinai tp ow er.com采集不要钱59wLk

--------------------------------------------------------www.chinai tp ow er.com采集不要钱59wLk

The information in this article applies to:www.chinai tp ow er.com采集不要钱59wLk

  • Microsoft Active Directory Service Interfaces, version 2.5
  • Microsoft Data Access Components version 2.6

--------------------------------------------------------www.chinai tp ow er.com采集不要钱59wLk

现象

 www.chinai tp ow er.com采集不要钱59wLk

FrontEndServerExchange 2000服务器www.chinai tp ow er.com采集不要钱59wLk

从某个时候起,在这台机器上调用微软的CDO或者CDOEX访问Exchange邮箱发生了异常!而且ADSI也工作不正常。www.chinai tp ow er.com采集不要钱59wLk

从外表上看,没有任何错误的迹象。www.chinai tp ow er.com采集不要钱59wLk

重现步骤如下:www.chinai tp ow er.com采集不要钱59wLk

Ø         VB中创建一个应用程序;
Ø         引用CDOEX.DLL;
Ø         代码写入:
         Set oMsg = CreateObject("CDO.Message")
         oMsg.DataSource.Open(“http://BackEndServer/public”)

则在第二行得到这样的错误:www.chinai tp ow er.com采集不要钱59wLk

www.chinai tp ow er.com采集不要钱59wLk

 www.chinai tp ow er.com采集不要钱59wLk

Run-time error ‘-2147221164(80040154)’:www.chinai tp ow er.com采集不要钱59wLk

无法向注册表写入项www.chinai tp ow er.com采集不要钱59wLk

www.chinai tp ow er.com采集不要钱59wLk

 www.chinai tp ow er.com采集不要钱59wLk

FrontEndServer 配置:www.chinai tp ow er.com采集不要钱59wLk

Windows Advanced Server 2000 内部版本号 2195:Service Pack 2www.chinai tp ow er.com采集不要钱59wLk

IE 版本:5.00.3315.1000 更新版本:SP2www.chinai tp ow er.com采集不要钱59wLk

CDOEX.DLL的版本号:6.0.4417.0www.chinai tp ow er.com采集不要钱59wLk

它所处的位置:C:\Program Files\Common Files\Microsoft Shared\CDOwww.chinai tp ow er.com采集不要钱59wLk

 www.chinai tp ow er.com采集不要钱59wLk

原因

首先在FrontEndServer 安装了SQL Server 2000之前,我们可以使用CDOEX的IDataSource.Open打开用户邮箱的:www.chinai tp ow er.com采集不要钱59wLk

_ConnectionPtr pCon = NULL;www.chinai tp ow er.com采集不要钱59wLk

CComPtr <CDO::IFolder>pFldr;www.chinai tp ow er.com采集不要钱59wLk

CComPtr <CDO::IDataSource>pSource;www.chinai tp ow er.com采集不要钱59wLk

hr=pFldr.CoCreateInstance(L"CDO.Folder");www.chinai tp ow er.com采集不要钱59wLk

pFldr->get_DataSource(&pSource);www.chinai tp ow er.com采集不要钱59wLk

hr=pSource->Open(bstrURLInbox,www.chinai tp ow er.com采集不要钱59wLk

                                  (IDispatch*)pCon,www.chinai tp ow er.com采集不要钱59wLk

                                  adModeRead,www.chinai tp ow er.com采集不要钱59wLk

                                           adFailIfNotExists, www.chinai tp ow er.com采集不要钱59wLk

                                           adOpenSource,www.chinai tp ow er.com采集不要钱59wLk

                                           bstrUserDomainAccount,www.chinai tp ow er.com采集不要钱59wLk

                                           bstrUserPwd);www.chinai tp ow er.com采集不要钱59wLk

 www.chinai tp ow er.com采集不要钱59wLk

但是安装了SQL Server之后,MDAC就被更新到了version 2.6!www.chinai tp ow er.com采集不要钱59wLk

 www.chinai tp ow er.com采集不要钱59wLk

由于Microsoft的过错,早期的一些MDAC组件被MDAC 2.6删除或者被覆盖掉了!!www.chinai tp ow er.com采集不要钱59wLk

 www.chinai tp ow er.com采集不要钱59wLk

而运行IDataSource.Open,是需要引用MDAC 2.5的这些被删除了的组件的,所以就会报出“Class Not Registered”的错误。www.chinai tp ow er.com采集不要钱59wLk

 www.chinai tp ow er.com采集不要钱59wLk

此时,如果运行下面的代码:www.chinai tp ow er.com采集不要钱59wLk

    Set con = CreateObject("ADODB.Connection")
    con.Provider = "ADsDSOObject"
    con.Open "ADs Provider"
www.chinai tp ow er.com采集不要钱59wLk

最后一行会失败并报错:run-tim error 429 'ActiveX component can't create object'www.chinai tp ow er.com采集不要钱59wLk

这种情况被新闻组的人们称之为“ADSI toasting ADO”!!www.chinai tp ow er.com采集不要钱59wLk

 www.chinai tp ow er.com采集不要钱59wLk

这就是一个非常严重的问题了。你的要使用到以前的ADO的接口的程序可能都不行了!www.chinai tp ow er.com采集不要钱59wLk

 www.chinai tp ow er.com采集不要钱59wLk

所以,安装了SQL Server 2000之后,请一定从下列站点下载最新的MDAC安装包或者补丁。www.chinai tp ow er.com采集不要钱59wLk

http://www.microsoft.com/data/download_26sp1.htmwww.chinai tp ow er.com采集不要钱59wLk

 www.chinai tp ow er.com采集不要钱59wLk

解决这个CDOEX的问题,就是下载并安装了MDAC 2.6 SP1 (2.61.7326.6).exe就可以了。www.chinai tp ow er.com采集不要钱59wLk

 www.chinai tp ow er.com采集不要钱59wLk

小结

在任何机器上安装SQL Server 2000时,都请注意这个问题!www.chinai tp ow er.com采集不要钱59wLk

一旦发现原来可以运行的程序现在爆出一些莫名其妙的错误,请先更新这台机器上的MDAC!打SQL Server 2000 SP1应该也可以,我想。www.chinai tp ow er.com采集不要钱59wLk

 www.chinai tp ow er.com采集不要钱59wLk

参考文献:www.chinai tp ow er.com采集不要钱59wLk

1.   PRB: ADSI 2.5 and MDAC 2.6 Compatibility Issues (Q275917)www.chinai tp ow er.com采集不要钱59wLk

2.   INFO: Determining Which Version of ADSI Is Installed (Q216290)www.chinai tp ow er.com采集不要钱59wLk

 www.chinai tp ow er.com采集不要钱59wLk

文章搜索
相关资讯
相关文章 相关下载
Red Hat9.0与Win XP双系统安装指南
Win 98/2000安装与卸载技巧
制作多功能全自动64位系统安装光盘
虚拟计算机 Virtual PC安装使用指南
高度集成 DIY多种操作系统安装光盘
焦点信息