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

来源:互联网 发布:aix查看用户及数组 编辑:程序博客网 时间:2024/04/28 11:24
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

安装之后可能

会导致访问邮箱失败

Articlelastmodifiedon2002-1-21

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

Theinformationinthisarticleappliesto:

MicrosoftActiveDirectoryServiceInterfaces,version2.5MicrosoftDataComponentsversion2.6--------------------------------------------------------

现象 

是Exchange2000服务器;

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

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

重现步骤如下:

Ø        VB中创建一个应用程序;Ø        引用CDOEX.DLL;Ø        代码写入:
        SetoMsg=CreateObject("CDO.Message")
        oMsg.DataSource.Open(“http://BackEndServer/public”)
则在第二行得到这样的错误:

 

Run-timeerror‘-2147221164(80040154)’:

无法向写入项

 

FrontEndServer配置:

WindowsAdvancedServer2000内部版本号2195:ServicePack2

IE版本:5.00.3315.1000更新版本:SP2

CDOEX.DLL的版本号:6.0.4417.0

它所处的位置:C:/ProgramFiles/CommonFiles/MicrosoftShared/CDO

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

_ConnectionPtrpCon=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);

 

但是安装SQLServer之后,MDAC就被更新到了version2.6!!

 

 

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

 

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

   Setcon=CreateObject("ADODB.Connection")
   con.Provider="ADsDSOObject"
   con.Open"ADsProvider"

最后一行会失败并报错:run-timerror429'ActiveXcomponentcan'tcreateobject'

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

 

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

 

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

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

 

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

1

<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>