安裝SQL Server 2000可能引發一個嚴重問題

來源:互聯網
上載者:User

現象

我的這台機器上調用微軟的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

原因

首先在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安裝包或者補丁。

解決這個CDOEX的問題,就是下載並安裝MDAC 2.6 SP1 (2.61.7326.6).exe。

小結

在任何機器上安裝SQL Server 2000時,都請注意這個問題!

一旦發現原來可以啟動並執行程式現在爆出一些莫名其妙的錯誤,請先更新這台機器上的MDAC或者打SQL Server 2000 SP1。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.