Tôi đang sử dụng điều khiển ReportViewer từ Visual Studio 2008 trong Chế độ cục bộ với các đối tượng làm nguồn dữ liệu. Các lớp của tôi được ánh xạ tới các bảng dữ liệu trong cơ sở dữ liệu của tôi. Trong các đối tượng, nó tải các đối tượng liên quan khi cần thiết. Vì vậy, nó để lại null tham chiếu cho đến khi bạn cố gắng sử dụng thuộc tính, sau đó nó cố gắng tải nó từ cơ sở dữ liệu tự động. Các lớp sử dụng không gian tên System.Data.SqlClient.Trình xem báo cáo - Yêu cầu cho phép loại SqlClientPermission không thành công
Khi tôi tương tác với các đối tượng trong ứng dụng Windows Forms, mọi thứ hoạt động như mong đợi. Nhưng khi tôi vượt qua các đối tượng được sử dụng như một nguồn dữ liệu báo cáo và nó cố gắng để tự động tải các đối tượng liên quan, nó không thành công. Mã này tạo ra một đối tượng SqlConnection và khi tôi gọi GetCommand() trên đó, các ngoại lệ sau đây được ném:
[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
tôi đã cố gắng tìm kiếm các lỗi, nhưng tất cả các kết quả mà hiển thị là dành cho hội CLR chạy trên một máy chủ SQL hoặc ASP.Net. Tôi đã thử thêm cuộc gọi sau vào mã của tôi (như được đề xuất trong kết quả tìm kiếm) trước khi tạo đối tượng SqlConnection, nhưng nó không rõ ràng:
System.Data.SqlClient.SqlClientPermission(System.Security.Permissions.PermissionState.Unrestricted).Assert();
Bất kỳ ý tưởng nào?
Cảm ơn vì điều này. Tôi vừa trải qua 5 giờ xung quanh cố gắng tìm ra lý do tại sao báo cáo của tôi không hiển thị như mong đợi. Điều này đã khắc phục sự cố #Error của tôi. –
điều này không thực hiện bất kỳ sự khác biệt, chỉ có điều đó hoạt động được thêm nó trên web.config, mà tôi không được phép làm. – montelof