Zpětná konverze reportu ReportingServices z 2005 na 2000

Zpětná kompatibilita Reporting services je ve verzi 2005 plně funkční a není v ní problém. Report je možné přímo nahrát na server, při pokusu o editaci ve Visual Studiu jste na tuto skutečnost upozorněni a report je automaticky převeden.Při pokusu spustit report vytvořený na ve verzi 2005 na Reporting Services 2000 dostanete chybovou hlášku:

The report definition is not valid. Please verify that the report definition
uses the current report definition namespace (i.e.
‘http://schemas.microsoft.com/sqlserver/reporting/2003/10/reportdefinition’).
(rsNotACurrentReportDefinition)

Nové .rld soubory (v podstatě XML soubory) jsou sestaveny podle novější verze XSD šablony (http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition). Obě definice je možné stáhnout z webu Microsoftu (kupodivu na adresách odpovídajících namespace definice :-). Pro zjednodušení přináším krátký postup převedení reportu z verze 2005 na 2000 bez nutnosti studovat rozdíly mezi definicemi. Funguje v drtivé většině případů, pokud ne, je třeba se podívat do definice a najít si odlišný tag a smazat ho z definice nebo ho přepsat odpovídajícím.

  1. Report nelze uložit ve straší verzi přímo z grafického návrhu Visual Studia, dá se použít XML zobrazení nebo libovolný textový editor (notepad)
  2. Hned na prvním řádku zaměnit verzi namespace z 2005/01 na 2003/10
  3. Vyhledat a smazat nody InteractiveWidth a InteractiveHeight
  4. V případě, že je v reportu použito ukotvení záhlaví, tak je nutné vyhledat a smazat nod FixedHeader
  5. Pokud je u některých parametrů reportu nastaveno Hidden, tak pro příslušný parametr smazat tag Hidden

Docela se osvědčilo – XML tag, který to nevykouše tam nemá co dělat a zaslouží si smazat.

Comments are closed.