我想修正可能會如果我記得正確的話,比你預期的要簡單。您的名字空間只需要更改以引用較新的服務。據我所知,你不能在2008年的命名空間上運行2012年。我很困惑,因爲你提到的'Winforms'應用程序通過一種通常以多種方式設置的查看器處理間接與SQL報告服務交談。如果是這種情況,請按照下面的步驟A進行操作,但是您會提到直接編輯報告,所以我很好奇這些客戶端報告是直接在應用程序中進行報告的嗎?如果是這樣的話,我會假設您是在使用RDL報告談論SSRS 2012,並且在這種情況下,如果這是針對使用從SQL 2012創建的VS 2010上的Business Intelligence Development Studio添加創建的報告託管報告,我會嘗試B.如果您正在討論在VB.NET應用程序中本地存儲的客戶端報告,我可能會猜測他們可能已升級到2012年使用.NET 4.5,而您可能正在嘗試較低的框架,但這只是對最後一個的猜測而且不太可能,因爲.NET帶有以前的版本,我不認爲它會在沒有告訴你的情況下升級報告。
答:
您可以重新安裝2012永遠但不能得到它使用2008的命名空間數據。您需要使用2012年有效服務中的最新代理類,並將它們放入C#/ VB.NET項目中。如果你不知道如何下載和適應代理類我這裏就可以了更詳細的線索:Programmatically Export SSRS report from sharepoint using ReportService2010.asmx
//
// This source code was auto-generated by xsd, Version=4.0.30319.17929.
//
namespace SampleRDLSchema {
using System.Xml.Serialization;
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition")]
[System.Xml.Serialization.XmlRootAttribute(Namespace="http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition", IsNullable=false)]
B.
- 在'RDL'報告的磁盤上找到本地副本並複製它。
- 取出副本,並用文本編輯器打開它,我會使用Notepad ++或類似的東西。
RDL作爲一種語言對我來說並沒有真正改變那麼多,(我甚至沒有看到2008R2和2012之間的設計師差異)。所以沿着這條線你可以嘗試一下黑客,看看它是否可以工作。編輯「<報告」的節點頂部附近是這個:
< Report xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns:cl="http://schemas.microsoft.com/sqlserver/reporting/2010/01/componentdefinition" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition">
優秀。這正是問題所在。在我的情況下工作。非常感謝 :) ! – Bharath