|
首先在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 |