2011-10-24 25 views
8

マシンをアップグレードするときに、SSRSレポートの作成に使用されたVisual Studioプロジェクトが失われました。ただし、データソースとレポートはまだサーバー上に存在します。 VSプロジェクトをSQLサーバー上で再作成する方法はありますか?新しいReporting Servicesプロジェクトを作成し、既存のデータソースとレポートをインポートする方法はありますか?Visual Studioで既存のSSRSレポートをインポートすることはできますか?

私はレポートはもともとあなたは多くを失っていないVS 2005に

答えて

9

を使用して作成されたと信じています。

データベースへの接続文字列、およびキャッシングと認証のための設定があまりありません。これらは簡単に再作成する必要があります。

各レポートタイプごとにレポート定義(.rdlファイル)をダウンロードし、新しいReporting Servicesプロジェクトに追加できます。彼らは新たに再作成されたデータソースを指摘する必要がありますが、その後はうまくいくはずです。

レポートサービスをダウンロードするには、Reporting Servicesレポートマネージャー(Webサイト)を参照してください。デフォルトインストールオプションのデフォルトインスタンスについてはhttp://servername/reports/です。管理者権限を持っている場合は、レポートを参照できます。特定のレポートのプロパティに移動し、[編集...]ボタンをクリックします。ブラウザから.rdlをダウンロードします。 (SSRS 2008では編集ボタンが「ダウンロード...」に変更されました)

実行中のSSRSのバージョン:Business Intelligence Developer Studioの異なるバージョン(BIDS、SSASおよびVisual StudioのSSRS版)は、特定のバージョンのSSRSのレポートを作成します。レポートはアップグレードできますが、古いバージョンのSSRSにダウングレードまたは展開することはできません。

+0

おかげで、これは便利です。 Microsoft SQL Server Reporting Servicesバージョン9.00.4053.00を使用しています。私はまだこれらの.rdlファイルをダウンロードする方法を見つけることを試みています。私は何ヶ月もReporting Servicesを使用しておらず、1年以上前にこれをどのように設定したかを覚えようとしています... –

+0

@Jamie_Fありがとう!これは私を助け、解決策を再構築することができました。 :-) –

+1

データを解答にダウンロード/追加するためのコメントの詳細を移動することを検討してください。これは、回答IMHOの中で最も貴重な部分でした。 – Glenn

-1

SSRSは...あなたは1回でレポートフォルダからすべてのレポートをダウンロードすることはできません

は、しかし、私が見つかりました。そして、私たちは上の大きな効果を使用して、ネット上にあるSQLの簡単な作品を微調整しました私たちのシステム...

これは、それがある: -

/* 
People working on SSRS are well aware that “Report Manager” does not support downloading all the report files (.rdl files) at one go out-of-box. 
However take this script, alter the xxx parameters to your bits. Its works great. 
If you get a HOST Error - you need to set full permission to the SQL Server Group on your DOS Dir. 
on [Our_Prod_Server], this is: SQLServerMSSQLUser$NS226758$MSSQLSERVER 

NOTE: You will find a RETURN; statement below, comment it out once you have altered the parameters. 
*/ 

--Replace NULL with keywords of the ReportManager's Report Path, 
--if reports from any specific path are to be downloaded 
--select * from [ReportServer].[dbo].[Catalog] CL -- this gives you an idea of the Report Directories. 
DECLARE @FilterReportPath AS VARCHAR(500) = 'xxx' 

--Replace NULL with the keyword matching the Report File Name, 
--if any specific reports are to be downloaded 
DECLARE @FilterReportName AS VARCHAR(500) = '' 

--Replace this path with the Server Location where you want the 
--reports to be downloaded.. 
DECLARE @OutputPath AS VARCHAR(500) = 'C:\Users\[uuuuu]\Documents\Visual Studio 2012\Projects\Report Skeleton\[Report DIR Name]\' 

--Used to prepare the dynamic query 
DECLARE @TSQL AS NVARCHAR(MAX) 

RETURN; 

--Reset the OutputPath separator. 
SET @OutputPath = REPLACE(@OutputPath,'\','/') 

--Simple validation of OutputPath; this can be changed as per ones need. 
IF LTRIM(RTRIM(ISNULL(@OutputPath,''))) = '' 
BEGIN 
    SELECT 'Invalid Output Path' 
END 
ELSE 
BEGIN 
    --Prepare the query for download. 
    /* 
    Please note the following points - 
    1. The BCP command could be modified as per ones need. E.g. Providing UserName/Password, etc. 
    2. Please update the SSRS Report Database name. Currently, it is set to default - [ReportServer] 
    3. The BCP does not create missing Directories. So, additional logic could be implemented to handle that. 
    4. SSRS stores the XML items (Report RDL and Data Source definitions) using the UTF-8 encoding. 
     It just so happens that UTF-8 Unicode strings do not NEED to have a BOM and in fact ideally would not have one. 
     However, you will see some report items in your SSRS that begin with a specific sequence of bytes (0xEFBBBF). 
     That sequence is the UTF-8 Byte Order Mark. It’s character representation is the following three characters, “”. 
     While it is supported, it can cause problems with the conversion to XML, so it is removed. 
    */ 
    SET @TSQL = STUFF((SELECT 
         ';EXEC master..xp_cmdshell ''bcp " ' + 
         ' SELECT ' + 
         ' CONVERT(VARCHAR(MAX), ' + 
         '  CASE ' + 
         '   WHEN LEFT(C.Content,3) = 0xEFBBBF THEN STUFF(C.Content,1,3,'''''''') '+ 
         '   ELSE C.Content '+ 
         '  END) ' + 
         ' FROM ' + 
         ' [ReportServer].[dbo].[Catalog] CL ' + 
         ' CROSS APPLY (SELECT CONVERT(VARBINARY(MAX),CL.Content) Content) C ' + 
         ' WHERE ' + 
         ' CL.ItemID = ''''' + CONVERT(VARCHAR(MAX), CL.ItemID) + ''''' " queryout "' + @OutputPath + '' + CL.Name + '.rdl" ' + '-T -c -x''' 
        FROM 
         [ReportServer].[dbo].[Catalog] CL 
        WHERE 
         CL.[Type] = 2 --Report 
         AND '/' + CL.[Path] + '/' LIKE COALESCE('%/%' + @FilterReportPath + '%/%', '/' + CL.[Path] + '/') 
         AND CL.Name LIKE COALESCE('%' + @FilterReportName + '%', CL.Name) 
        FOR XML PATH('')), 1,1,'') 

    --SELECT @TSQL 

    --Execute the Dynamic Query 
    EXEC SP_EXECUTESQL @TSQL 
END 
関連する問題