none
[求助]关于CRM4.0 Plugin 访问SQL filtered views的问题 RRS feed

  • 问题

  • 大家好,

          我现在遇到这样一个问题,我在plugin中使用sql查询语句访问filtered views, 返回结果总是0行,后发现"NT AUTHORITY\NETWORK SERVICE"用户不是crm验证用户,为了解决此问题又在sql语句中添加了" SETUSER 'crm\administrator' select * from dbo.FilteredContact""EXECUTE AS USER = 'crm\administrator' select * from dbo.FilteredContact"后,发现有如下报错信息

    System.Data.SqlClient.SqlException: Setuser failed because of one of the following reasons: the database principal does not exist, its corresponding server principal does not have server access, this type of database principal cannot be impersonated, or you do not have permission.


    不知具体是什么原因造成的,比较困惑,希望能够得到大家的帮助,先谢谢了
    crm4.0学步
    2009年12月14日 14:33

全部回复

  • 请参考 http://msdn.microsoft.com/en-us/library/ms188315.aspx

    如果在 Plug-in 那里使用, 为什么不通过 Web 的引用来做呢? 如果不用 QueryExpression, 可以用 FetchXml 呢。 

    Darren Liu | 刘嘉鸿 | MS CRM MVP | English Blog: http://msdynamicscrm-e.blogspot.com | Chinese Blog: http://liudarren.spaces.live.com
    2009年12月15日 14:31
    版主
  • 你好,先谢谢了,由于本Case中Querry相对比较复杂,QueryExpression已不再能满足需求,如果用FetchXml来处理的话,可能后期处理也相对会比较复杂,所以比较倾向于用sql查询语句访问filtered views。


    crm4.0学步
    2009年12月30日 21:52
  • 你看jim 英文的blog,有个文章讲 sql impersonate的
    Batistuta Cai-刀客 | 蔡敏生 | MS CRM MVP | Blog:http://caims.cnblogs.com
    2010年1月4日 14:40
    版主