| VB 源码 | VC 源码 | ASP源码 | JSP源码 | PHP源码 | CGI源码 | FLASH源码 | 素材模板 | C 源程序 | 站长工具 | 站长教程 |

.NET技术

ASP技术
PHP技术
JSP技术
VB技术
.NET技术

本类阅读TOP10

·ASP.NET提供文件下载函数
·ASP.NET中使用数据处理插入数据注意的问题
·如何让你的服务器支持asp.net
·ASP.NET WEB页面多语言支持解决方案
·带你走进ASP.NET(4)
·ASP.net生成文字图片
·从ASP过渡到ASP.net遗留的二十大积习
·带你走进ASP.NET(3)
·带你走进ASP.NET(1)
·ASP.NET可交互式位图窗体设计(9)

站内搜索

ASP.NET通过DSO访问分析服务器的权限问题
ASP.NET中通过Decision Support Objects(DSO)访问分析服务器的权限问题

1. 引子

先看一段代码:

public class WebForm1 : System.Web.UI.Page
{
    private void Button1_Click(object sender, System.EventArgs e)
    {
        DSO.Server dsoServer = new DSO.ServerClass();
        dsoServer.Connect("lisp-pc");
        dsoServer.CloseServer();
    }
}

这是用ASP.NET中调用DSO的一个代码片断,程序的本意是想连接到lisp-pc上的分析服务器(这段代码所在的Web服务器也在lisp-pc上)。但不幸得的是执行完dsoServer.Connect("lisp-pc");之后,程序抛出了一个异常。事实上,同样的代码在Widnows Application的项目中,运行正常。

2. 到底发生了什么事情
事实上,这段代码潜在着三个问题。

2.1 线程模式不一致

DSO线程模式跟ASP.NET的客户端环境线程模式不一致。前者是STA模式,而后者是MTA模式。解决的办法是在这段代码所在的ASPX文件的中加入aspcompat="true",使得,这个页面的线程模式跟STA匹配。

2.2 OLAP Administrators

DSO的调用者需要加入OLAP服务器的OLAP Administrators组才有权限连接到OLAP服务器。ASP.NET中,在默认的情况下,这段代码调用者的身份是ASPNET和IUSER_MACHINE(这两个角色在什么时候起作用有待考查)。解决的办法有在OLAP服务器上,把这个账户加入到OLAP Administrators组中。更进一步的方法是,在IIS服务器中配置ASP.NET应用程序的身份,或者通过web.config的identity属性配置,同样将定制好的用户加入OLAP服务器的OLAP Administrators组中。

2.3 分析服务器的BIN目录

一个很让人疏忽的地方就是,DSO的调用者需要对分析服务器的BIN目录的出来又读取的权限,还需要有修改和写入的安全权限。对分析服务器的BIN的存取是以Windows文件共享的方式进行处理的。可以猜想,对DSO调用是,DSO可能需要对该目录下的msmdrep.mdb和msmdqlog.mdb两个文件进行存取,所以,才需要对BIN目录有读取和写入的权限。

3. 总结

以上的解决方法,一部分整理自新闻组(通过Google查找的),一部分是自己探索和验证的结果,有错误的地方,请告知,谢谢!




相关文章
  • 安全性与IIS
  • 通过探测邮件服务器进行Email地址有效性检验
  • 黑客越来越多 如何设定安全log服务器呢?
  • 代理服务器软件冲突导致的网络故障分析
  • 使用网络地址转换实现多服务器负载均衡
  • 代理服务器使用祥解
  • 服务器版Longhorn把Unix逼入死境
  • Serv-U FTP服务器LIST命令超长-l参数远程缓冲区溢出漏洞
  • 精确对时:增加Internet时间服务器
  • Linux下的代理服务器设置
  • 组网不求人!搭建简易Linux局网服务器
  • Win2000服务器轻松管
  • 插翅难逃 根据Web服务器的记录来追踪黑客
  • 插翅难逃 根据Web服务器的记录来追踪黑客
  • Web服务器安全指南
  • 提高IIS 5.0网站服务器的执行效率的八种方法
  • 提高IIS 5.0网站服务器的执行效率的八种方法
  • 如何让你的服务器支持asp.net
  • 第一章 熟悉JSP服务器
  • 169proxy服务器设置大全
  • 相关软件

  • 检测OLE服务器是否支持IConnect  
  • 类似WinGate的代理服务器源程序  
  • 多线程实现客户-服务器结构的一个例子  
  • NT服务器的App Wizard  
  • 该聊天程序包括服务器和客户端两部分  
  • 这是一个代理服务器程序它使用多线程  
  • MSDN中的HTTP服务器程序非常具有参  
  • 简单的虚拟代理服务器的源程序  
  • TelNet服务器的源程序  
  • 用TCP/IP服务器客户端通讯源代码  

  • 下载首页关于我们广告服务联系方式常见问题隐私声明法律条款本站声明下载帮助发布软件站点地图谷歌卫星地图