Permissions 报表服务器为XML数据源的RunEmbeddedQuery方法引发错误

Permissions 报表服务器为XML数据源的RunEmbeddedQuery方法引发错误,permissions,ssrs-2008,foxpro,Permissions,Ssrs 2008,Foxpro,这种情况已经发生了。有一个SSRS服务器,它有一个报告,其中数据源是XML类型的,它使用windows身份验证,而不使用任何其他方法。在报表内部有一个数据集,它将该数据源与此一起用于查询“=Code.ReportUser.GetListOfItems()”。这将调用自定义程序集中的一个方法,该方法连接到数据库,并以如下格式的字符串返回数据(尖括号更改为curly以便读取 "<Query><XmlData><Items>" + xmlDocument.Docum

这种情况已经发生了。有一个SSRS服务器,它有一个报告,其中数据源是XML类型的,它使用windows身份验证,而不使用任何其他方法。在报表内部有一个数据集,它将该数据源与此一起用于查询“=Code.ReportUser.GetListOfItems()”。这将调用自定义程序集中的一个方法,该方法连接到数据库,并以如下格式的字符串返回数据(尖括号更改为curly以便读取

"<Query><XmlData><Items>" + xmlDocument.DocumentElement.InnerXml + "</Items></XmlData></Query>" 

我不确定这到底意味着什么。有什么想法吗?这看起来像是权限问题,但我不知道在哪里。我尝试将xml数据源身份验证从windows更改为“无”,然后将我的AD帐户作为执行用户添加到报表服务器上。这没有改变任何仍在浏览器中工作的内容,而是从Zangle浏览器对象中。还有一件事,服务器需要身份验证和所有报告,无论环境如何,都会提示登录并成功进行身份验证,因此我的凭据似乎会传递到服务器,只有我的xml数据源在使用Zangle启动时抛出错误。请分享您的想法。我是一名程序员,但我对服务器内容不太了解我是SSRS新手。谢谢。

已解决。结果表明,foxpro应用程序将所有内容都小写,并且传递给程序集中的sql server名称与程序集中存储的名称不匹配。傻:)因此,从现在开始,我们将对所有内容进行小写比较。

到目前为止,我已将问题缩小到查询字符串。我对查询字符串进行了硬编码,以便使用相同的XML类型数据集和Windows集成身份验证(这些都是我为其设置的)读取成功,并按照预期从foxpro internet browser应用程序中运行报告。看起来问题在于查询是对程序集的方法调用,返回字符串。可能缺少该类型调用的某些权限?进一步调查发现,以下行使用(SqlConnection connection=new SqlConnection(this.connectionString))导致问题。如果我使用注释掉里面的所有内容并返回一个硬编码的值,那么每个东西都可以正常工作。我没有看到任何具体的错误抛出这里它只是失败。同样的代码通过报表管理器和报表服务工作正常,而不是通过IE对象。我一定是在权限中遗漏了什么。我确实为类设置了[SqlClientPermissionAttribute(SecurityAction.Assert,Unrestricted=true)],该类的方法包含使用directive.Resolved的方法。事实证明,foxpro应用程序将所有内容都小写,并且传递给程序集的sql server名称与程序集中存储的名称不匹配。傻瓜:)所以从现在开始,我们将用小写字母比较所有内容。为了澄清问题:根据我在访问Globals时观察到的行为!ReportFolder.Value如果您没有返回您在报表管理器中看到的值,您将获得发送到服务器的URL的一部分的值。我认为这是一个奇怪的功能,但这就是我在SSRS服务器上的功能
library!ReportServer_0-8!ca0!02/24/2012-10:18:45:: 
   Call to GetPermissionsAction(path to my report).
library!ReportServer_0-8!e68!02/24/2012-10:18:45:: 
   Call to GetSystemPropertiesAction().
library!ReportServer_0-8!e68!02/24/2012-10:18:45:: 
   Call to GetPropertiesAction(path to my report, PathBased).
library!ReportServer_0-8!10bc!02/24/2012-10:18:45:: 
   Call to GetSystemPermissionsAction().
library!ReportServer_0-8!e68!02/24/2012-10:18:45:: 
   Call to GetSystemPropertiesAction().
processing!ReportServer_0-8!10bc!02/24/2012-10:18:45:: 
   e ERROR: Throwing Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: , 
Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: 
   Error during processing of the CommandText expression of dataset ‘Items’.;
processing!ReportServer_0-8!10bc!02/24/2012-10:18:45:: 
   e ERROR: Throwing Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: , 
Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: 
   Cannot set the command text for dataset 'Items'. ---> Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: 
   Error during processing of the CommandText expression of dataset ‘Items’.
   at Microsoft.ReportingServices.OnDemandProcessing.RuntimeDataSet.RunEmbeddedQuery(Boolean& readerExtensionsSupported, Boolean& readerFieldProperties, List`1 queryParams, Object[] paramValues)
   --- End of inner exception stack trace ---;