服务器上使用EXCEL组件
2009-11-27 11:58
260 查看
---------------配置组件服务下的DCOM--------------------------------------
使用DCOM组件服务操作Excel,权限问题,进程释放问题
1、使用模拟帐户,在Web.config文件中加入
<!identity impersonate="true" userName="administrator" password=""/>
2、在DCOM组件服务中给MICROSOFT.EXCEL组件 赋予ASP.NET的操作权限,具体步骤:
(1)打开开始菜单的运行对话框,输入dcomcnfg命令,确定,这时会弹出组件服务窗口
(2)展开计算机-〉我的电脑-〉DCOM配置,找到Microsoft Excel应用程序节点
(3)单击右键-〉属性,选中"安全"选项,在下面三个项目都选择"自定义",并单击编辑按钮
(4)在启动权限对话框中点击添加按钮,添加相应的用户(注意:如果是WIN2000,XP,则添加"机器名/ASPNET"用户,我这里是以WIN2003为例,WIN2003是添加"NETWORK Service"用户),并赋予最大权限
二、结束Excel进程
释放所用到的所有Excel对象的资源,所有对象显示声明,显示释放
三 应用类库Excel
Interop.Excel.dll
Interop.Microsoft.office.core
Interop.VBIDE.dll
四.Excel用以web操作时,上传下载临时目录最好建其它虚拟路径保存,和应用目录分开,安全,方便定期清楚临时文件.templates和应用关系紧密,可集成在应用目录中.
---------------组件服务错误时---------------------------------------
MSDTC服务不正常,于是先从这里下手,具体的解决方法如下:
1、首先进入组件服务,查看组件服务/计算机/我的电脑/COM+应用程序,结果报错"COM+ 无法与 Microsoft 分布式事务协调程序交谈",无法查看里面的对象。
2、进入事件查看器,发现msdtc服务没有正常启动。
3、删除注册表中的键:
• HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/MSDTC
• HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSDTC
• HKEY_CLASSES_ROOT/CID
4、停止MSDTC服务:net stop msdtc
5、卸载MSDTC服务:msdtc -uninstall
6、重新安装MSDTC服务:msdtc -install
7、确认在事件查看器中msdtc服务已经正常启动[这步很关键,如果没有,重新启动下电脑看看,然后再同步密码(就是开始的那三步)
其实"COM+ 无法与 Microsoft 分布式事务协调程序交谈"在安装了Windows组件中的消息队列后,就不会出现这个错误了,同时"消息队列"组件又对服务中的"Distributed Transaction Coordinator"(即msdtc服务)有依存关系,这个服务必须启用,才可以安装消息队列组件!消息队列装好后,上图中的COM+应用程序菜单就可以打开了,表示其已正常工作!如果在这个时候再装IIS或者把IIS卸载重装,就不需要上面的手动密码同步问题了!就是说按这个步骤安装好IIS,就已经正常了!实际上,手工同步密码
使用DCOM组件服务操作Excel,权限问题,进程释放问题
1、使用模拟帐户,在Web.config文件中加入
<!identity impersonate="true" userName="administrator" password=""/>
2、在DCOM组件服务中给MICROSOFT.EXCEL组件 赋予ASP.NET的操作权限,具体步骤:
(1)打开开始菜单的运行对话框,输入dcomcnfg命令,确定,这时会弹出组件服务窗口
(2)展开计算机-〉我的电脑-〉DCOM配置,找到Microsoft Excel应用程序节点
(3)单击右键-〉属性,选中"安全"选项,在下面三个项目都选择"自定义",并单击编辑按钮
(4)在启动权限对话框中点击添加按钮,添加相应的用户(注意:如果是WIN2000,XP,则添加"机器名/ASPNET"用户,我这里是以WIN2003为例,WIN2003是添加"NETWORK Service"用户),并赋予最大权限
二、结束Excel进程
释放所用到的所有Excel对象的资源,所有对象显示声明,显示释放
三 应用类库Excel
Interop.Excel.dll
Interop.Microsoft.office.core
Interop.VBIDE.dll
四.Excel用以web操作时,上传下载临时目录最好建其它虚拟路径保存,和应用目录分开,安全,方便定期清楚临时文件.templates和应用关系紧密,可集成在应用目录中.
---------------组件服务错误时---------------------------------------
MSDTC服务不正常,于是先从这里下手,具体的解决方法如下:
1、首先进入组件服务,查看组件服务/计算机/我的电脑/COM+应用程序,结果报错"COM+ 无法与 Microsoft 分布式事务协调程序交谈",无法查看里面的对象。
2、进入事件查看器,发现msdtc服务没有正常启动。
3、删除注册表中的键:
• HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/MSDTC
• HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSDTC
• HKEY_CLASSES_ROOT/CID
4、停止MSDTC服务:net stop msdtc
5、卸载MSDTC服务:msdtc -uninstall
6、重新安装MSDTC服务:msdtc -install
7、确认在事件查看器中msdtc服务已经正常启动[这步很关键,如果没有,重新启动下电脑看看,然后再同步密码(就是开始的那三步)
其实"COM+ 无法与 Microsoft 分布式事务协调程序交谈"在安装了Windows组件中的消息队列后,就不会出现这个错误了,同时"消息队列"组件又对服务中的"Distributed Transaction Coordinator"(即msdtc服务)有依存关系,这个服务必须启用,才可以安装消息队列组件!消息队列装好后,上图中的COM+应用程序菜单就可以打开了,表示其已正常工作!如果在这个时候再装IIS或者把IIS卸载重装,就不需要上面的手动密码同步问题了!就是说按这个步骤安装好IIS,就已经正常了!实际上,手工同步密码
相关文章推荐
- 在服务器上使用第三方独立组件对Word/Excel进行编程
- 在服务器上使用第三方独立组件对Word/Excel进行编程 .
- 在服务器上使用第三方独立组件对Word/Excel进行编程
- 【转】在服务器上使用第三方独立组件对Word/Excel进行编程
- 在服务器上使用第三方独立组件对Word/Excel进行编程
- .net服务器没有COM+组件情况下使用NOPI和MyXls导入导出excel
- java基于jxl.jar包生成Excel文件到指定目录和服务器下载两种模式的使用方法
- Flex与服务器交互之三(使用WebService组件同服务器WebService通讯)
- c# 使用Interop.Excel.dll官方组件导出Excel(根据模板)
- Delphi使用server组件控制excel的一点经验
- SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细信息
- Flex与服务器交互之三(使用WebService组件同服务器WebService通讯)
- 使用Excel组件时的权限设置
- 使用excel组件,发生错误
- .NET使用NPOI组件将数据导出Excel
- SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Que
- 如何通过 SQL Server 链接服务器和分布式查询使用 Excel
- IIS中使用Microsoft.Office.Interop.Excel 常见问题:RPC 服务器不可用。 (异常来自 HRESULT:0x800706BA) 的异常。等
- 使用POI组件操作Excel文档
- 代理 XP”组件已作为此服务器安全配置的一部分被关闭。系统管理员可以使用 sp_configure 来启用“代理 XP”。