读书人

“ADODB.StreamClass”的 COM 报错.求

发布时间: 2012-12-14 10:33:07 作者: rapoo

“ADODB.StreamClass”的 COM 报错.求大神们.

这个问题.是读取后缀为 .eml 格式的时候 使用 ADODB.Stream读取报错.

本地测试没问题.服务器就出错了.().

自己弄了2天了,没解决.求大神帮助
[最优解释]

引用:
注册ADODB.Stream组件

regsvr32 "C:\Program Files\Common Files\System\ado\msado15.dll"


这个我试过了. 元旦放假3天还是没解决出来.
[其他解释]
你可以采用开源的代码进行读取
http://sourceforge.net/projects/sasa/files/

或者
http://www.codeproject.com/KB/office/EML_ReaderEx.aspx
[其他解释]
定义成StreamClass而不是Stream试试
[其他解释]
引用:
本地测试没问题.服务器就出错了.().

这个需要注册什么组件不。


就是不知道要注册什么,所以还没找出问题来.
我也是估计是服务器缺少某个dll或者未注册.但是具体我不清楚.
[其他解释]
引用:
定义成StreamClass而不是Stream试试


试了不行,还是一样
[其他解释]


这是我后台代码 ashx文件里面的.


/// <summary>
/// 读取eml格式文件
/// </summary>
/// <param name="file">路径</param>
/// <returns></returns>
public string ReadEML(string file)
{
CDO.Message oMsg = new CDO.Message();
ADODB.Stream stm = null;
//读取EML文件到CDO.MESSAGE,做分析的话,实际是用了下面的部分
try
{
stm = new ADODB.Stream();
stm.Open(System.Reflection.Missing.Value,
ADODB.ConnectModeEnum.adModeUnknown,
ADODB.StreamOpenOptionsEnum.adOpenStreamUnspecified,
"", "");
stm.Type = ADODB.StreamTypeEnum.adTypeBinary;//二进制方式读入

stm.LoadFromFile(file); //将EML读入数据流

oMsg.DataSource.OpenObject(stm, "_stream"); //将EML数据流载入到CDO.Message,要做解析的话,后面就可以了。
}


catch (IOException ex)
{
throw ex;
}
finally
{
stm.Close();
}
return oMsg.HTMLBody;//oMsg里包含了邮件相关的所有信息
}

[其他解释]
本地测试没问题.服务器就出错了.().

这个需要注册什么组件不。


[其他解释]
注册ADODB.Stream组件

regsvr32 "C:\Program Files\Common Files\System\ado\msado15.dll"
[其他解释]

引用:
你可以采用开源的代码进行读取
http://sourceforge.net/projects/sasa/files/

或者
http://www.codeproject.com/KB/office/EML_ReaderEx.aspx


刚刚在尝试 http://www.codeproject.com/KB/office/EML_ReaderEx.aspx.
有几点不太明白. 返回的 return PgUtil.StripHTML(sText);
PgUtil是哪里类?
[其他解释]
PgUtil是自定义的类或者dll里面的,你下载代码的里面应该有
[其他解释]
引用:
PgUtil是自定义的类或者dll里面的,你下载代码的里面应该有


都下载下来了. 源文件 只有3个类. 其他没有啥DLL.
你方便留下QQ吗.向你请教
[其他解释]
顶贴哇.. 木人鸟我.. 还木有解决哇.
[其他解释]
已搞定.
[其他解释]
怎么搞定的啊,我也遇到这个问题
[其他解释]
null

读书人网 >asp.net

热点推荐