报表查看器 - 请求 SqlClientPermission 类型的权限失败

2023-11-22

我在本地模式下使用 Visual Studio 2008 中的 ReportViewer 控件,并将对象作为数据源。我的类映射到数据库中的数据表。在对象中,它根据需要加载相关对象。因此,它会将引用保留为空,直到您尝试使用该属性,然后它会尝试自动从数据库加载它。这些类使用 System.Data.SqlClient 命名空间。

当我与 Windows 窗体应用程序中的对象交互时,一切都按预期进行。但是,当我传递要用作报表数据源的对象并尝试自动加载相关对象时,它失败了。该代码创建一个 SqlConnection 对象,当我对其调用 GetCommand() 时,会引发以下异常:

[System.Security.SecurityException] {
"Request for the permission of type 'System.Data.SqlClient.SqlClientPermission, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed."
} System.Security.SecurityException

我尝试搜索错误,但显示的所有结果都是针对在 SQL Server 或 ASP.Net 上运行的 CLR 程序集的。在创建 SqlConnection 对象之前,我尝试在代码中添加以下调用(如搜索结果中的建议),但它显然没有执行任何操作:

System.Data.SqlClient.SqlClientPermission(System.Security.Permissions.PermissionState.Unrestricted).Assert();

有任何想法吗?


除了CuppM的回答。 这ExecuteReportInCurrentAppDomain该方法自 .NET4 起已被弃用,并且LocalReport.SetBasePermissionsForSandboxAppDomain应该使用 ReportViewer 来代替always在沙盒域中执行:

PermissionSet permissions = new PermissionSet(PermissionState.None);
permissions.AddPermission(new FileIOPermission(PermissionState.Unrestricted));
permissions.AddPermission(new SecurityPermission(SecurityPermissionFlag.Execution));
ReportViewer1.LocalReport.SetBasePermissionsForSandboxAppDomain(permissions);

查看具体信息here.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

报表查看器 - 请求 SqlClientPermission 类型的权限失败 的相关文章

随机推荐

  • jQuery 在悬停时打开 div;自动滚动浏览

    我有一个UL列表中包含多个链接 每个项目都链接到自己的项目DIV 当用户将鼠标悬停在 UL 链接上时 正确DIV显示框 这是我的 HTML 代码 ul class productlist li a href class product li
  • 使用 python pandas 将新数据框附加到现有 Excel 工作表

    我目前有这段代码 它工作完美 它循环遍历文件夹中的 Excel 文件 删除前 2 行 然后将它们另存为单独的 Excel 文件 它还将循环中的文件保存为附加文件 当前附加文件覆盖每次运行代码时都会使用现有文件 我需要将新数据附加到底部已有的
  • 批量删除(截断与删除)

    我们有一个包含 150 多万条记录的表 我们需要清除 删除所有行 由于删除操作会写入 t log 因此删除操作将永远持续下去 并且我们无法更改整个数据库的恢复模型 我们已经测试了截断表选项 我们意识到 截断会从表中释放页面 如果我没记错的话
  • 如何将 EFS 共享挂载到 AWS Fargate?

    我有一个存储容器日志的 AWS EFS 共享 我想将此 nfs 共享 aws efs 挂载到 AWS Fargate 是否可以 任何支持文档链接将不胜感激 你可以这样做自2020年4月起 这有点棘手但有效 我遇到的最大问题是您需要将 平台版
  • 使用 java.io 寻找 ByteArrayInputStream

    我怎样才能寻找 改变立场 ByteArrayInputStream java io 这是显而易见的事情 但我似乎无法在任何地方找到这种方法 mark reset还不够 我需要将位置设置到InputStream 如果不能使用java io我必
  • 在Java中裁剪图像[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我正在尝试用 Java 剪切图像的某个部分并将其保存回磁盘 有没有一个函数可以从X Y上剪切指定宽度和高度的图像 你通常会 创建一个新的BufferedImage dst如下 具
  • 如何在PHP中对日期数组进行排序?

    我是 php 新手 我有 php 日期数组 0 gt 11 01 2012 1 gt 01 01 2014 2 gt 01 01 2015 3 gt 09 02 2013 4 gt 01 01 2013 我想将其排序为 0 gt 11 01
  • Windows 命令提示符中的 EOF 不会终止输入流

    Code include
  • ATL 简单对象向导 - “对象 Xxx 已存在”错误

    我正在尝试使用以下命令在我的 DLL 中创建一个新的 COM 对象ATL 简单对象向导在 Visual Studio 2005 中 我输入对象的短名称 然后派生出所有其他字段 但是 当我点击Next在向导中 出现以下错误消息 Object
  • 对 boost::timer::auto_cpu_timer 的未定义引用

    我尝试使用 g 4 4 在 Debian 上的远程服务器上编译带有 boost 库的小 cpp 文件 我为此目的使用 Netbeans 我的家用机器运行的是 Windows 7 解决了链接下一个代码的一些问题后 include
  • $_SERVER['HTTP_ORIGIN'] 不起作用

    当我使用 SERVER HTTP ORIGIN echo SERVER HTTP ORIGIN 返回 注意 未定义索引 第 12 行 D xampp htdocs safe test php 中的 HTTP ORIGIN 怎么了 The O
  • 如何知道 Mac 中当前架构是 i386 还是 x86_64? (Xcode)

    我正在处理在不同架构中需要不同参数的相机 是否有一个标志可以检查我的 Mac 中是 32 位还是 64 位 我正在尝试这个 但似乎不起作用 我总是得到 32 位 if defined PER ARCH CFLAGS x86 64 NSLog
  • 如何向 MVC3 中同一对象的实例显示不同的必需消息?

    我有一个 Razor MVC3 项目 其中表单中有两条用户记录 一条用于关键联系人 一条用于备份联系人 例如 public class User Required ErrorMessage First name is required pu
  • 为 getopt 覆盖 $argv

    示例 php args FILE vvv argv explode args argc count argv GLOBALS argv SERVER argv argv GLOBALS argc SERVER argc argc var e
  • 上传前对 Rails 中的文件大小进行自定义验证

    以我的形式我有 在我的模型中我想写这个 validate validates uploadfile def validates uploadfile file max size 2048 errors add uploadfile File
  • -[UITableView dequeueReusableCellWithIdentifier:forIndexPath:] 中的断言失败

    由于某种原因 我的应用程序在尝试将单元格加载到表格视图中时失败 我在整个应用程序中的所有表格视图都完全相同 我对它们没有任何问题 是否可能与从另一个 viewController 初始化 Controller 有关 我不这么认为 我在故事板
  • 安装 mysql-python 时出错:找不到 -lssl 的库

    我在安装 mysql python 时遇到问题 创建了一个新的 virtualenv 并在安装 mysql python 时 这是错误消息 env pip install mysql python Collecting mysql pyth
  • Python pandas:替换与另一个数据帧中的多列匹配的多列值

    我搜索了很多答案 最接近的问题是比较2个不同pandas数据帧的2列 如果相同则在Python中插入1到另一个 但是这个人的特定问题的答案是一个简单的合并 它并不能以一般的方式回答这个问题 我有两个大型数据框 df1 通常约 1000 万行
  • Canvas URL/安全 Canvas URL 错误消息

    我目前正在尝试启动并运行 Facebook 应用程序 但当我尝试访问应用程序 URL 时 收到以下错误消息 抱歉 您使用的应用程序配置错误 请 稍后再试 仅供开发人员使用的消息 要修复此错误 请在应用程序中设置您的 Canvas URL 安
  • 报表查看器 - 请求 SqlClientPermission 类型的权限失败

    我在本地模式下使用 Visual Studio 2008 中的 ReportViewer 控件 并将对象作为数据源 我的类映射到数据库中的数据表 在对象中 它根据需要加载相关对象 因此 它会将引用保留为空 直到您尝试使用该属性 然后它会尝试