7

Re: レポート定義が無効です。詳細: レポート定義には、アップグレードできない無効なターゲット名前空間 ' http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition ' があります。

専門家の報告が必要です。送信してください...

これが、このちょっとした愚かさを達成するために私が今日行ったステップです。

1) Visual Studio 2010、SQL Server 2012

2) アプリは vb.net の winforms であり、うまく機能しており、もともとは VS 2008 で開発されました

レポートは、私がそれらに到達する前に、この午前中に問題なく実行されました。-はぁ-

3) SQL 2012 にアップグレードしてから初めて、いくつかのレポートを編集しようとしました。

4) データセットを編集できず、何かが破損していると判断しました。

5) VS 2010 で修復インストールを実行し、完全に最新であることを確認しました。喜びはありません - データセットを更新できませんでした。

6) 接続クライアント用の SDK を追加して、SQL SSMS のインストールを再実行しました。

7) レポート データセットを編集できるようになりましたが、レポートが壊れています。(タイトル参照) -二重ため息-

レポート ビューアーは 10.0.0 です

.Net は 4.0 です

ヒントをありがとう

マック・マッカスキー

4

4 に答える 4

2

私の記憶が正しければ、修正は予想よりも簡単かもしれません。新しいサービスを参照するには、名前空間を変更するだけです。私の知る限り、2008 の名前空間で 2012 を実行することはできません。一般的に複数の方法で設定されたビューアーを介してSQLレポートサービスと間接的にやり取りする「Winforms」アプリについて言及しているように、私は混乱しています。その場合は、以下の A に従ってください。ただし、レポートを直接編集することについて言及されていますが、これらのクライアント レポートはアプリケーションで直接行われるのでしょうか? もしそうなら、RDL レポートを使用した SSRS 2012 について話している場合、SQL 2012 から作成された VS 2010 の Business Intelligence Development Studio アドオンで作成されたレポート ホスト レポートの場合は、B を試してみます。

A:

2012 を永久に再インストールできますが、2008 の名前空間をデータに使用することはできません。2012 年の有効なサービスから最新のプロキシ クラスを使用し、それらを C#/VB.NET プロジェクトに配置する必要があります。プロキシ クラスをダウンロードして適応させる方法がわからない場合は、ここに詳細なスレッドがあります

// 
// 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.

  1. 「RDL」レポートのディスク上のローカル コピーを見つけてコピーします。
  2. コピーをテキスト エディターで開きます。Notepad++ などを使用します。
  3. 私にとっての言語としての RDL は、それほど大きな変化はありません (2008R2 と 2012 の間のデザイナーの違いさえわかりません)。そのため、ハックを試して、それが機能するかどうかを確認できます. 上部近くの「< Report」のノードを編集して、代わりに次のようにします。

    < 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">
    
于 2013-06-21T20:56:52.460 に答える
1

マリオ・メイレレスは正しい。

Microsoft.ReportViewer.Common.dll と Microsoft.ReportViewer.WinForms.dll のバージョンがすべてです。正しいバージョンまたは最新の dll バージョンを参照していることを確認してください。たとえば、VS2013 の場合、バージョン 11 を使用する必要があります。

C:\Windows\assembly\GAC_MSIL\Microsoft.ReportViewer.Common\11.0.0.0__89845dcd8080cc91\Microsoft.ReportViewer.Common.dll

C:\Windows\assembly\GAC_MSIL\Microsoft.ReportViewer.WinForms\11.0.0.0__89845dcd8080cc91\Microsoft.ReportViewer.WinForms.dll

于 2015-09-09T07:32:30.467 に答える
0

SQL2008 R2を使用してレポート プロジェクトを開始し、すべてのプロジェクト ファイルで次のスキーマを使用していました。

<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/01/

私のレポート サーバーは SQL2008 NOT R2 で、レポートを展開すると次のエラーが発生しました。

レポート定義が無効です。詳細: レポート定義に無効なターゲット名前空間があります

秘訣は、プロジェクトの TargetServerVersion を SQL 2008 および Build に設定することです。次に、Bin\Release フォルダー内のすべてのファイルに正しいスキーマが含まれます。

<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/

ここに画像の説明を入力

于 2015-10-01T01:11:04.243 に答える