owc控件不能在win server 2003 64位中使用,具体错误如下.
着急: owc控件不能在win server 2003 64位中使用,具体错误如下.但是在32位下是可以使用的.
“/WFQH”应用程序中的服务器错误。
--------------------------------------------------------------------------------
检索 COM 类工厂中 CLSID 为 {0002E546-0000-0000-C000-000000000046} 的组件时失败,原因是出现以
下错误: 80040154。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码
中导致错误的出处的详细信息。
异常详细信息: System.Runtime.InteropServices.COMException: 检索 COM 类工厂中 CLSID 为
{0002E546-0000-0000-C000-000000000046}
的组件时失败,原因是出现以下错误: 80040154。
源错误:
行 65: string strValue = ""; // "9" + '\t' + "8" + '\t' + "4" + '\t'+"10" + '\t'
+ "12" + '\t' + "6" + '\t';
行 66: //声明对象
行 67: ChartSpace ThisChart = new ChartSpaceClass();
行 68: ChChart ThisChChart = ThisChart.Charts.Add(0);
行 69: ChSeries ThisChSeries = ThisChChart.SeriesCollection.Add(0);
源文件: d:\WebApp\WFQH\Comm\Rpt\UCGraphics.ascx.cs 行: 67
堆栈跟踪:
[COMException (0x80040154): 检索 COM 类工厂中 CLSID 为 {0002E546-0000-0000-C000-
000000000046} 的组件时失败,原因是出现以下错误: 80040154。]
BP.Web.UC.UCGraphics.GenerChart(DataTable dt, String colOfGroupField, String
colOfGroupName, String colOfNumField, String colOfNumName, String title, Int32 chartHeight,
Int32 chartWidth, ChartType ct) in d:\WebApp\WFQH\Comm\Rpt\UCGraphics.ascx.cs:67
BP.Web.Comm.GroupEnsNum.SetDGDataV2(Int32 myPageIdx, Boolean isSplatePage) in
d:\WebApp\WFQH\Comm\GroupEnsMNum.aspx.cs:1266
BP.Web.Comm.GroupEnsNum.BPToolBar1_ButtonClick(Object sender, EventArgs e) in
d:\WebApp\WFQH\Comm\GroupEnsMNum.aspx.cs:1762
Microsoft.Web.UI.WebControls.Toolbar.OnButtonClick(Object sender, EventArgs e) +23
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String
eventArgument) +32
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean
includeStagesAfterAsyncPoint) +3215
解决办法:
你这个是权限的问题,和asp.net生成word的问题一样,只是CID表示程序不同。还有一种解决方法是重装一遍组件,原因见资料引用。
一般解决方法如下:
excel 和word的解决方法是:
1:在服务器上安装office软件.
2:在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务"
3:依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置"
4:在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框(你是owc,选择你的那个CID)
5:点击"标识"标签,选择"交互式用户"
6:点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加
一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限.
7:依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK
SERVICE"用户,然后赋予"本地访问"权限.
这样,我们便配置好了相应的Excel的DCOM权限.
注意:这是在WIN2003上配置的,在2000上,可能是配置ASPNET用户
参考资料:http://blog.csdn.net/talefox/archive/2008/03/13/2178688.aspx