共用方式為


印表機傳遞延伸模組範例

更新: 2005 年 12 月 5 日

「印表機傳遞範例」是一種範例傳遞延伸模組,提供 Reporting Services 傳遞的介紹。本範例是簡單的印表機傳遞延伸模組。它使用 IMAGE 轉譯延伸模組及 Microsoft .NET Framework 中的 System.Drawing.Printing 命名空間,將報表傳遞至印表機。以 Itanium 為基礎的作業系統不支援這個範例。

安裝期間不會自動安裝 SQL Server 範例。如需有關如何安裝範例的指示,請參閱<安裝範例>。

ms160778.note(zh-tw,SQL.90).gif重要事項:
範例只供教育目的之用。它們不能用於實際執行環境,而且從來沒有在實際執行環境中測試過。Microsoft 不提供對這些範例的技術支援。若沒有系統管理員的權限,就不應該在實際 SQL Server 資料庫或報表伺服器上,連接或使用範例應用程式及組件。

需求

您應該熟悉 Visual Studio 和 Microsoft Visual C#,而且您的系統必須符合下列需求,才能使用「印表機傳遞」範例:

  • Microsoft Visual Studio 2005。
  • Microsoft .NET Framework 2.0 版。
  • Reporting Services 範例。
  • 如果您計劃使用範例延伸模組,將其他資料處理功能加到您的伺服器,您必須具有在網路上存取報表伺服器的權限。

位置

此範例位於 Reporting Services 範例目錄的 Extension Samples\PrinterDelivery Sample 子目錄中。

例如:

C:\Program Files\Microsoft SQL Server\90\Samples\Reporting Services\Extension Samples\PrinterDelivery Sample

建立範例

使用下列步驟來建立範例。

如果您尚未建立強式名稱金鑰檔,請利用下列指示產生金鑰檔。

若要產生強式名稱金鑰檔

  1. 開啟 Microsoft Visual Studio 2005 命令提示字元。按一下 [開始],依序指向 [程式集] 和 [Microsoft .NET Framework SDK 2.0],然後按一下 [SDK 命令提示字元]。

    -- 或 --

    開啟 Microsoft .NET Framework 命令提示字元。按一下 [開始],依序指向 [所有程式] 和 [Microsoft .NET Framework SDK 2.0],然後按一下 [SDK 命令提示字元]。

  2. 使用變更目錄命令 (CD),將命令提示字元視窗的現行目錄切換到範例的安裝資料夾。

    ms160778.note(zh-tw,SQL.90).gif附註:
    若要判斷範例所在的資料夾,按一下 [開始] 按鈕,依序指向 [所有程式]、[Microsoft SQL Server] 和 [文件集和教學課程],然後按一下 [範例目錄]。如果是使用預設安裝位置,則範例位於 <system_drive>:\Program Files\Microsoft SQL Server\100\Samples。
  3. 在命令提示字元中,執行下列其中一個命令來產生金鑰檔:

    sn -k SampleKey.snk

    ms160778.note(zh-tw,SQL.90).gif重要事項:
    如需有關強式名稱金鑰組的詳細資訊,請參閱 MSDN 中 .NET Development Center 中的<Security Briefs: Strong Names and Security in the .NET Framework>。

若要使用 .NET Framework SDK 編譯範例

  1. 將 Microsoft.ReportingServices.Interfaces.dll 從報表伺服器 \bin 目錄複製到您的範例資料夾。依預設,Microsoft.ReportingServices.Interfaces.dll 位於 Reporting Services 的已安裝之執行個體的 \Reporting Services\ReportServer\bin 子目錄中。確切路徑可能會隨著 Reporting Services 的安裝而改變。例如:

    C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportManager\Bin
    
  2. 發出下列命令以建立 Microsoft.Samples.ReportingServices.PrinterDeliverySample.dll 範例傳遞延伸模組。

    csc /t:library /out:Microsoft.Samples.ReportingServices.PrinterDeliverySample.dll *.cs /r:Microsoft.ReportingServices.Interfaces.dll
    

若要使用 Visual Studio 編譯範例

  1. 開啟 Visual Studio 中的範例方案檔 (PrinterDeliveryCS.sln 或 PrinterDeliveryVB.sln)。

  2. 在 [方案總管] 中,選取 PrinterDelivery 專案。

  3. [專案] 功能表上,按一下 [加入參考]

    此時會開啟 [加入參考] 對話方塊。

  4. 按一下 [.NET] 索引標籤。

  5. 按一下 [瀏覽],並在本機磁碟機中尋找 Microsoft.ReportingServices.Interfaces.dll 檔案。依預設,組件位於 C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin,然後按一下 [確定]

    選取的參考即會加入您的專案中。

  6. [建立] 功能表上,按一下 [建置方案]

部署範例

當您完成前述的步驟後,即可將 Microsoft.Samples.ReportingServices.PrinterDeliverySample.dll 部署在報表伺服器及「報表管理員」中,以供傳遞報表之用。

若要部署範例

  1. 複製 Microsoft.Samples.ReportingServices.PrinterDeliverySample.dll 到報表伺服器。報表伺服器延伸模組的預設位置是 C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin。

  2. 在 RSReportServer.config 檔案的 <Delivery> 元素下,編寫下列項目。

    <Extension Name="Printer Delivery Sample" Type="Microsoft.Samples.ReportingServices.PrinterDelivery.PrinterDeliveryProvider,Microsoft.Samples.ReportingServices.PrinterDeliverySample">
       <Configuration>
          <Printers>
             <Printer>\\Server\MyNetworkPrinter1</Printer>
             <Printer>\\Server\MyNetworkPrinter2</Printer>
             <Printer>MyLocalPrinter</Printer>
          </Printers>
       </Configuration>
    </Extension>
    
    ms160778.note(zh-tw,SQL.90).gif附註:
    <Printers> 元素是用來提供一組固定的印表機名稱,供傳遞延伸模組印表機設定使用。這個清單最後會與已安裝傳遞延伸模組的報表伺服器其已知可用的印表機清單核對。如果選取的印表機與報表伺服器上已安裝之印表機的已知清單不符合,傳遞將會失敗,其狀態為「{0} 印表機目前尚未安裝在伺服器上」。如果報表伺服器所使用的「Windows 服務」帳戶沒有權限列印至 Windows 中安裝的印表機,則印表機將不會包含在可用印表機清單中。
  3. 複製組件至「報表管理員」。「報表管理員」的延伸模組預設位置為 C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportManager\bin。

  4. 在 RSWebApplication.config 檔案的 <DeliveryUI> 元素下,編寫下列項目:

    <Extension Name="Printer Delivery Sample" Type="Microsoft.Samples.ReportingServices.PrinterDelivery.PrinterDeliveryUIProvider,Microsoft.Samples.ReportingServices.PrinterDeliverySample"/>
    

如需有關部署傳遞延伸模組的詳細資訊,請參閱<Deploying a Delivery Extension>。

若要設定範例的程式碼存取安全性

  1. 開啟報表伺服器原則組態檔 (rssrvpolicy.config)。此檔案的預設位置是 C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer。

  2. 傳遞延伸模組必須被授與完全的信任。若要這麼做,請在 <CodeGroup … Zone="MyComputer" /> 元素下加入下列程式碼群組資訊:

    <CodeGroup class="UnionCodeGroup"
       version="1"
       PermissionSetName="FullTrust"
       Name="PrinterDeliveryCodeGroup"
       Description="Code group for my delivery extension">
          <IMembershipCondition class="UrlMembershipCondition"
             version="1"
             Url="C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin\Microsoft.Samples.ReportingServices.PrinterDeliverySample.dll"
           />
    </CodeGroup>
    
  3. 如果您在「報表管理員」中使用範例印表機傳遞延伸模組,請使用「報表管理員」原則組態檔 (rsmgrpolicy.config) 和下列程式碼群組重複步驟 1 和 2:

    <CodeGroup class="UnionCodeGroup"
       version="1"
       PermissionSetName="FullTrust"
       Name="PrinterDeliveryCodeGroup"
       Description="Code group for my delivery extension">
          <IMembershipCondition class="UrlMembershipCondition"
             version="1"
             Url="C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportManager\bin\Microsoft.Samples.ReportingServices.PrinterDeliverySample.dll"
           />
    </CodeGroup>
    

    rsmgrpolicy.config 檔案的預設位置是 C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportManager。

  4. 當您完成部署範例時,請使用重設工具 Iisreset.exe 重設 Microsoft Internet Information Services (IIS),然後重新啟動 Reporting Services Windows 服務。

    如需有關 .NET 安全性與 Reporting Services 的詳細資訊,請參閱<Understanding Code Access Security in Reporting Services>。

請參閱

工作

編譯和執行程式碼範例
SQL Server Reporting Services 範例

其他資源

在自訂應用程式中使用 RSClientPrint 控制項
延伸模組範例 (Reporting Services)
Implementing a Delivery Extension

說明及資訊

取得 SQL Server 2005 協助

變更歷程記錄

版本 歷程記錄

2005 年 12 月 5 日

變更的內容:
  • 已變更產生金鑰檔的指示,包括金鑰檔的名稱和位置。