none
rsユーティリティでのレポートの配置 RRS feed

  • 質問

  • 環境:SQL Server 2008 R2

    rsユーティリティを使ってReporting Servicesのレポートサーバーに
    レポートファイル(+共有データセット、リソース)を配置しようとしています。
    しかし、エラーで配置できません。
    原因の分かる方、教えていただけないでしょうか。

    ReportService2005エンドポイントのCreateReportメソッドを使っても、
    ReportService2010エンドポイントのCreateCatalogItemメソッドを使っても
    下のエラーが出ます。

    System.Web.Services.Protocols.SoapException: レポート定義が無効か、このバージョ
    ンの Reporting Services でサポートされていません。これは、新しいバージョンの Rep
    orting Services のレポート定義をパブリッシュした結果です。または、レポート定義に
    含まれる XML が適切な形式でないか、レポート定義スキーマに基づいた XML が無効であ
    ることが原因です。詳細: '.' (16 進数値 0x00) は無効な文字です。 行 247、位置 10
    です。
       場所 Microsoft.ReportingServices.WebServer.ReportingService2010Impl.CreateRep
    ort(String Report, String Parent, Boolean Overwrite, Byte[] Definition, Property
    [] Properties, CatalogItem& ItemInfo, Warning[]& Warnings)
       場所 Microsoft.ReportingServices.WebServer.ReportingService2010Impl.CreateCat
    alogItem(String ItemType, String Name, String Parent, Boolean Overwrite, Byte[]
    Definition, Property[] Properties, CatalogItem& ItemInfo, Warning[]& Warnings)
       場所 Microsoft.ReportingServices.WebServer.ReportingService2010.CreateCatalog
    Item(String ItemType, String Name, String Parent, Boolean Overwrite, Byte[] Defi
    nition, Property[] Properties, CatalogItem& ItemInfo, Warning[]& Warnings)

    BIDSからは配置できます。
    BIDSから配置したレポートをレポートマネージャーからダウンロードして、
    rsユーティリティで配置しようとすると、やはり同じエラーが出ます。

    2011年10月18日 7:56

回答

  • すみません、自己解決しました。

    ダウンロードしたサンプルスクリプトを編集して使っていたのですが、
    レポートファイルからバイト列を読み込むところを修正する必要がありました。

    (誤)
            Dim stream As FileStream = File.OpenRead(filePath + reportName)
            definition = New [Byte](stream.Length) {}
            stream.Read(definition, 0, CInt(stream.Length))
            stream.Close()
    (正)
            Dim stream As FileStream = File.OpenRead(filePath + reportName)
            definition = New [Byte](stream.Length - 1) {}
            stream.Read(definition, 0, CInt(stream.Length))
            stream.Close()

    • 回答としてマーク tottoteruri 2011年10月18日 8:19
    2011年10月18日 8:19