2013-05-21 92 views
1

我們有提供數據的中間層。我們正在嘗試編寫一個自定義數據提供程序。我已經覆蓋了SYstem.Data命名空間的接口,如IDbCommand,IdbConnection和生成的dll。如何在C#中註冊自定義數據提供程序

我們想註冊dll.So,它應該列在ssrs的數據源類型窗口中。

我們無法註冊。誰能幫忙?

回答

3

發展設置

在開發計算機上,需要安裝在Visual Studio目錄爲您的數據擴展的DLL文件。這將是這樣的:

C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies 

在你需要的數據擴展添加到RSReportDesigner.config如下此相同的文件夾: 在<Extensions><Data>部分,添加以下行:

<Extension Name="MyDataExtension" Type="My.Name.Space.MyDataExtensionClass"/> 

<Extensions><Designer>部分中,添加下列行:

<Extension Name="MyDataExtension" Type="Microsoft.ReportingServices.QueryDesigners.VDTQueryDesigner,Microsoft.ReportingServices.QueryDesigners"/> 

您可能還需要添加Full Trust以使數據擴展功能正常工作。編輯RSPreviewPolicy.config,並添加以下代碼安全組:

<CodeGroup class="UnionCodeGroup" 
    version="1" 
    PermissionSetName="FullTrust" 
    Name="MyDataExtensionCodeGroup" 
    Description="Code group for my data processing extension"> 
    <IMembershipCondition class="UrlMembershipCondition" 
     version="1" 
     Url="C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies\MyDataExtension.dll" 
    /> 
</CodeGroup> 

現在你可以使用Visual Studio中的數據處理擴展。

Server安裝

在Reporting Services服務器,數據擴展DLL需要安裝在SQL Server Reporting Services的目錄。這將是這樣的:

C:\Program Files\Microsoft SQL Server\MSSQL.1\Reporting Services\ReportServer\bin 

在主ReportServer目錄上面的目錄bin您需要將數據擴展添加到RSReportServer.config。在<Extensions><Data>部分,添加以下行:

<Extension Name="MyDataExtension" Type="My.Name.Space.MyDataExtensionClass"/> 

爲了給DLL充分的信任,編輯的rssrvpolicy.config,並添加以下代碼安全組:

<CodeGroup class="UnionCodeGroup" 
    version="1" 
    PermissionSetName="FullTrust" 
    Name="MyDataExtensionCodeGroup" 
    Description="Code group for my data processing extension"> 
    <IMembershipCondition class="UrlMembershipCondition" 
     version="1" 
     Url="C:\Program Files\Microsoft SQL Server\MSSQL.1\Reporting Services\ReportServer\bin\MyDataExtension.dll" 
    /> 
</CodeGroup> 
+0

謝謝。我能夠使用我的自定義數據源。但是,當我嘗試預覽報告時,它顯示以下錯誤:已嘗試使用未爲此報告服務器註冊的數據擴展名'CUSTOM_DATASOURCE',或者在此版本的Reporting Services中不受支持。 – Ajay

+0

有關新問題的問題應該作爲全新的問題提出。請爲這個新問題創建一個新問題,以便我們可以單獨解決這個問題。 –

相關問題