Jak používat vlastní sestavení nebo vložený kód Reporting Services

Překlady článku Překlady článku
ID článku: 920769 - Produkty, které se vztahují k tomuto článku.
SQL Server podporu hlasu sloupce

Jak používat vlastní sestavení nebo vložený kód Reporting Services

Přizpůsobit tento sloupec vašim potřebám chceme pozvat odeslat nápadů o tématech, které vás zajímají, a problémy, které chcete zobrazit adresovány v budoucnu články databáze Knowledge Base a podpora Voice sloupců. Můžete odeslat nápady a názor pomocí formuláře Ask For It. Také je odkaz na formulář v dolní části sloupce.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Vítejte zpět! Jsem Sandy Yakob s Microsoft SQL Server obsahu týmu. Jsem hostess pro SQL Server podporu hlasu sloupce. Rychlá poznámka o mně: I s aplikací Microsoft byly 14 let. Pro poslední tři roky lze mít byla práce s SQL Server obsahu týmu.

Pro tento měsíc sloupec John Sirmon vám nabídne kroků použít vlastní sestavení nebo vložený kód v SQL Server 2000 Reporting Services a SQL Server 2005 Reporting Services. Tento článek byl navržen pro umožňují spuštění s vlastní sestavení a základní kroky získat v Reporting Services. Petr je analýza eskalace podpory s týmu SQL Developer podpory společnosti Microsoft a odpracoval pro Microsoft od března 2001. Znak he pracoval se serverem SQL přes 10 let a má rozsáhlé vývoj docházet se serverem Microsoft Visual Studio. John zastává stupeň B. S. v Business Administration z The Citadel. Znak he také uchovává certifikační Microsoft Certified Solution Developer (MCSD) a certifikační MCDBA (Microsoft Certified Database Administrator). Doufám vychutnat sloupce a užitečné.

Vytvořit vlastní sestavení

Chcete-li vytvořit vlastní sestavení, postupujte takto:
  1. Vytvoření knihovny třídy Visual Studio. V nabídce soubor přejděte na příkaz Nový, přejděte na projekt a klepněte na tlačítko Knihovny tříd.
  2. Zadejte název a umístění. Například použití SimpleClassLibrary a C:\Documents and Settings\user1\My Documents\Visual Studio 2005\projects.
  3. Otevřete soubor třídy (v mém případě Class1.vb) a vytvořit funkce, které chcete použít ve službě Reporting Services. V mém případě právě vytvoření jednu funkci sdílené jednoduché.

    Poznámka: Protože sdílené funkce (statické v jazyce C#) jsme nemáte přístup pomocí objektu instancemi. Mějte to jako to má vliv na jsme odkazovat naše sestavení později v článku.
    Public Class Class1
    
        Public Shared Function DoSomething() As String
            Return "string data returned from custom assembly"
        End Function
    
    End Class
    
  4. Po dokončení přidávání veškerý kód v nabídce vytvořit klepněte na příkaz Sestavit SimpleClassLibrary. Tento krok vytvoří sestavení nebo spravované dll ve složce příslušné přihrádky. Tento krok v mé příklad vytvořen Moje sestavení SimpleClassLibrary.dll ve složce Moje Studio Documents\Visual 2005\Projects\ SimpleClassLibrary\bin\Debug.

Zkopírovat vlastní sestavení složek SQL Reporting Services

Zpřístupnit vaše sestavení Návrháře sestav a server ve službě Reporting Services Report. Chcete-li to provést, musíte zkopírovat vaše dll složky Návrháře sestav a složky serveru sestav.

Poznámka: Cesta může být trochu odlišné, v závislosti na instalační cestu.
  • Reporting Services 2005 zkopírovat soubor DLL do následující složky:
    • Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies
    • Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin
  • Reporting Services 2000 zkopírujte knihovny DLL do následující složky:
    • Program Files\Microsoft SQL Server\80\Tools\Report Designer
    • Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\bin
Poznámka: Protože máte proveďte tento při každé změně kód, může být bitu únavné. Mnoho vývojáři vytvořit dávkové soubory ke zpracování tohoto úkolu. Zde je ukázkový dávkový soubor lze use.
@ECHO OFF
REM   Name: SRSDeploy.bat
REM
REM   This batch files copies my custom assembly to my Reporting Services folders.
REM   Run this from the directory where the customer assembly was compiled.
REM   Be sure to close any applications that have your custom assembly open. 
REM
REM   This is the SQL Server 2005 version:
copy SimpleClassLibrary.dll "C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies"  
copy SimpleClassLibrary.dll "C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin" 
REM This is the SQL Server 2000 version:
REM copy SimpleClassLibrary.dll "C:\Program Files\Microsoft SQL Server\80\Tools\Report Designer"
REM copy SimpleClassLibrary.dll "C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\bin"
lze obvykle zpracovat tento úkol vytvořením vlastní post-build událost v projektu. Chcete-li to provést, přejděte k vlastnosti projektu. Další klepněte na kartu Kompilovat a potom klepněte na tlačítko Sestavit události. Otevře se dialogové okno Vytvořit události. Zvolte Post-build události příkazového řádku a zadejte následující:
kopie $ (TargetPath)""C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies\"
Kopírovat $ (TargetPath)"" C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin\ "
Toto makro post-build používá k určení umístění Moje sestavení. Další informace o vytváření post-build události na webu Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/42x5kfw4.aspx

Přidání odkazu na vlastní sestavení Reporting Services

Přidat odkaz na vlastní sestavení, otevřete sestavu Reporting Services Report Designer. Postupujte takto:
  1. Otevřete sestavu odkazující vlastní sestavení.
  2. V nabídce sestavu klepněte na tlačítko Vlastnosti sestavy.
  3. V dialogové okno Vlastnosti sestavy klepněte na kartu odkazy.
  4. V části odkazy tlačítko se třemi tečkami (...), které je vedle záhlaví sloupce název sestavení.

    Poznámka: Oddíl třídy je pouze pro členy založené instance. Není pro statické členy. Statické (označovaný také jako "sdílené" v některých naše Reporting dokumentaci) znamená, že člen je k dispozici každé instance třídy a každé instanci používá stejné umístění úložiště. Statické členy jsou deklarovány pomocí sdílené klíčové slovo v aplikaci Microsoft Visual Basic a statické klíčové slovo v jazyce C#. Může být trochu matoucí. Co znamená, pokud vlastní sestavení obsahuje členy instance, které potřebujete získat přístup, bude mít zadejte název třídy a název instance v části třídy. Protože metoda se bude volání 887787 byl definován jako statický pomocí sdílené klíčové slovo v jazyka, bude namísto oddílu třídy použití části odkazy.
  5. V dialogovém okně Přidat odkazy klepněte na tlačítko Procházet. (V SQL Server 2005, klepněte na kartu Procházet.)
  6. Vyhledejte a klepněte na vlastní sestavení. Klepněte na tlačítko Otevřít. (V SQL Server 2005, klepněte na tlačítko Přidat namísto Otevřít.)
  7. V dialogovém okně Přidat odkazy klepněte na tlačítko OK.
  8. V dialogové okno Vlastnosti sestavy klepněte na tlačítko OK.
Nyní jsme připraveni použít vlastní sestavení Reporting Services.
  1. Otevřete sestavu (soubor .rdl) v Návrháře sestav.
  2. Ukazují, jak použít vlastní sestavení Reporting Services, přidejte textové pole. Chcete-li to provést, přetáhněte prázdné textové pole z panelu nástrojů sestavy.
  3. Ve vlastnostech pole text klepněte na vlastnost Hodnota a volání funkce pomocí následující syntaxe.
    =ClassLibraryName.ClassName.MethodName or Namespace.ClassName.MethodName
    V příkladu Moje I zadána následující.
    =SimpleClassLibrary.Class1.DoSomething()
    Jiné formáty jsou používány jako odkazy kód Reporting Services. Například použijte následující formát Pokud zavoláte vložený kód
    =Code.MethodName()
    volání bez statické nebo založené na instanci, metoda z v rámci vlastní sestavení pomocí instance, použijte následující formát.
    =Code.InstanceName.Method
    Poznámka: Jste by nastavili váš odkaz odlišně Pokud jste chtěli použít metodu instance založen. To provedete, by nutné přejít Vlastnosti sestavy, klepněte na kartě odkazy a potom zadejte název třídy a název instance v části třídy.

Zabezpečení přístupu kódu, pokud vlastní sestavení vyžaduje další oprávnění

Vlastní sestavení vyžaduje více oprávnění než výchozí úroveň oprávnění spouštění, je třeba provést některé změny zabezpečení přístupu kódu. Pokud nastane problém oprávnění zabezpečení přístupu ke kódu s největší pravděpodobností uvidíte "#Error" z vlastní sestavení namísto očekávané výsledky. Rychlý několik kroků, které můžete provést k určení, pokud k tomuto problému dochází a podrobné pokyny o udělení dalších oprávnění vlastní sestavení klepněte na následující číslo článku databáze Microsoft Knowledge Base:
842419Jak udělit oprávnění vlastní sestavení, které je odkazováno v sestavě ve službě Reporting Services
Poznámka: Následující postup je test pomoci zjistit, zda se vyskytují problémy zabezpečení přístupu kódu. Nedoporučujeme, protože udělí oprávnění úplný vztah důvěryhodnosti vlastní sestavení použít následující postup.

Vytvořit nové CodeGroup vlastní sestavení a udělit oprávnění úplný vztah důvěryhodnosti. Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\rssrvpolicy.config soubor otevřít a přidejte následující kód.
<CodeGroup class="UnionCodeGroup"
   version="1"
   PermissionSetName="FullTrust"
   Name="MyCodeGroup"
   Description="Code group for my data processing extension">
      <IMembershipCondition class="UrlMembershipCondition"
         version="1"
         Url="C:\pathtocustomassembly\customassembly.dll"
       />
</CodeGroup>
Doporučujeme vytvořit více konkrétní oprávnění nastavit namísto přiřazení tohoto oprávnění nastavit kód skupiny. Tento článek je určený získat a spuštěna s vlastní sestavení a vyžaduje více podrobností.

Poznámka: Vlastní sestavení často pracovat spolehlivě Návrháře sestav. Však pravděpodobně zjistíte, že při nasazení a zkuste spustit vlastní sestavení serveru sestav spuštění výchozí úrovně oprávnění jsou nedostatečné. Ve výchozím nastavení je pro tento důvod, Návrhář sestav spustí vlastní sestavení s oprávněními "FullTrust". Při nasadit sestav serveru sestav, výchozí oprávnění udělená v serveru sestav je však nastavena na úroveň spuštění. Pokud k tomuto problému dojde, pravděpodobně uvidíte "#Error" v ovládacím prvku sestavy namísto očekávané výsledky z vlastní sestavení.

Vložený kód

Vložený kód je kód napsaný v části kódu dialogové okno Vlastnosti sestavy. Vložený kód je dobrou volbou kódu, která bude volána několikrát v rámci sestavy. Pokud chcete znovu použít kód více sestav, vlastní sestavení je pravděpodobně lepší voleb. Vytvoření vložené funkce, postupujte takto:
  1. V nabídce sestavu klepněte na tlačítko Vlastnosti sestavy.
  2. V dialogové okno Vlastnosti sestavy klepněte na kartu Kód
  3. Přidat následující funkce a potom klepněte na tlačítko OK.
    Public Function EmbeddedFunction() as String
     	Return "this is from embedded code function"
    End Function
    
  4. V sestavě přidat nové textové pole.
  5. Přidat následující vlastnost Hodnota.
    =code.EmbeddedFunction
ChtĚl bych Děkujeme John svou pevný práci v tomto článku. Znak he má hlouběji zkušenosti v SQL Server a několik jazyků Microsoft Development a enjoys pracovat se zákazníky a řešení složité problémy. Snad používáním téma tento měsíc! Děkujeme čtení! Jako vždy pocit volného odeslat nápady na témata, které chcete v budoucnu adresovány sloupce nebo pomocí formuláře Ask For It znalostí.

Vlastnosti

ID článku: 920769 - Poslední aktualizace: 26. ledna 2007 - Revize: 1.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft SQL Server 2005 Reporting Services
  • Microsoft SQL Server 2000 Reporting Services
Klíčová slova: 
kbmt kbhowto KB920769 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:920769

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com