2011-10-24 18 views
8

Bir makineyi yükseltirken, SSRS raporları oluşturmak için kullanılan Visual Studio projesini kaybettik. Ancak Veri Kaynakları ve Raporlar sunucuda hala var. VS projesini SQL sunucusunda kullanarak yeniden oluşturmak için bir yolu var mı? Yeni bir Raporlama Hizmetleri projesi oluşturmanın ve mevcut Veri Kaynakları ile Raporları içe aktarmanın bir yolu var mı?Mevcut SSRS raporlarını Visual Studio'da içe aktarmak mümkün mü?

Ben raporlar aslen VS 2005

cevap

9

Fazla kaybetmediğini kullanılarak oluşturulan inanıyoruz.

Veri kaynakları çok fazla değil: bir veritabanına bağlantı dizesi ve muhtemelen önbelleğe alma ve kimlik doğrulama ayarları. Bunlar kolayca yeniden yaratılmalıdır.

Rapor tanımları (.rdl dosyaları) her rapor türü için indirilebilir ve yeni bir Raporlama Hizmetleri projesine eklenir. Yeni yeniden oluşturulan veri kaynaklarına işaret edilmeleri gerekecek, ama sonra iyi olmalı.

Rapor dosyalarını karşıdan yüklemek için Raporlama Servisleri Rapor Yöneticisi'ne gidin (web sitesi.) Varsayılan yükleme seçenekleriyle varsayılan SQL örneği için bu http://servername/reports/ Yönetim izinlerine sahipseniz, raporlara göz atabilirsiniz. Belirli bir raporun özelliklerine gidin ve Düzenle ... düğmesini tıklayın. Bu, tarayıcınız aracılığıyla .rdl dosyasını indirecektir. (SSRS 2008'de, Düzenle düğmesi "İndirme ..." olarak değiştirildi)

Çalıştırmakta olduğunuz SSRS sürümünün sürümünü öğrenmeniz gerekir: Business Intelligence Developer Studio'nun farklı sürümleri (BIDS, SSAS ve Visual Studio'nun SSRS sürümü), SSRS'nin belirli sürümleri için raporlar oluşturur. Raporlar yükseltilebilir, ancak SSRS'nin eski bir sürümüne indirgenemez veya dağıtılamaz.

+0

sayesinde bu yararlıdır. Microsoft SQL Server Raporlama Hizmetleri Sürüm 9.00.4053.00 kullanıyoruz. Yine de bu .rdl dosyalarını nasıl indireceğimi bulmaya çalışıyorum. Raporlama Servislerini aylarca kullanmadım ve bunu bir yıldan fazla bir süre önce nasıl ayarladığımı hatırlamaya çalışıyorum ... –

+0

@Jamie_F Teşekkürler! Bu bana çok yardımcı oldu ve çözümü yeniden yapılandıramadım. :-) –

+1

Lütfen verileri indirmeye/yanıtlamaya eklemek için yorumun ayrıntılarını taşımayı düşünün. Bu, IMHO'nun cevabının en değerli kısmıydı. – Glenn

-1

SSRS ... sen 1 seferde bir rapor klasördeki tüm raporları indirmek izin vermez

Ancak bulduk ve her büyük etkisi kullanmak net bulunan SQL basit bir parçası büküverdi sistemimiz ...

İşte bu: -

/* 
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 
İlgili konular