Registrar um provedor de dados padrão do .NET Framework (SSRS)
Para usar um provedor de dados do .NET Framework terceirizado com o objetivo de recuperar dados para um conjunto de relatórios do Reporting Services, é preciso implantar e registrar o assembly do provedor de dados do .NET Framework em dois locais: no cliente que está criando o relatório e no servidor de relatório. No cliente que está criando o relatório, você deve registrar o provedor de dados como um tipo de fonte de dados e associá-lo a um designer de consulta. Você pode selecionar esse provedor de dados como um tipo de fonte de dados quando criar um conjunto de dados de relatório. O designer de consulta associado é aberto para ajudá-lo a criar consultas para esse tipo de fonte de dados. No servidor de relatório, é preciso registrar o provedor de dados como um tipo de fonte de dados. Você pode processar os relatórios publicados que recuperam dados a partir de uma fonte de dados usando este provedor de dados.
Os provedores de dados de terceiros não fornecem necessariamente todas as funções disponíveis nas extensões de processamento de dados do Reporting Services. Para obter mais informações, confira Fontes de dados com suporte no Reporting Services (SSRS). Para saber como estender a funcionalidade de um provedor de dados do . provedor de dados do .NET Framework, confira Implementando uma extensão de processamento de dados.
Você precisa ter credenciais de administrador para instalar e registrar provedores de dados.
Registrando um provedor de dados .NET Framework no Servidor de Relatórios
Para processar os relatórios publicados que usam esse provedor de dados do .NET Framework no servidor de relatórios, é preciso instalar o assembly no servidor de relatórios. Modifique dois arquivos de configuração. Modifique rsreportserver.config para registrar o provedor de dados. Modifique rssrvpolicy.config para conceder permissões de segurança de acesso do código para o assembly.
Para instalar um assembly do provedor de dados no servidor de relatórios
Navegue até o local padrão do diretório \bin no servidor de relatórios no qual deseja usar o provedor de dados do .NET Framework. A localização padrão do diretório bin do servidor de relatório é <drive>:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin.
Copie o assembly de seu local de preparação para o diretório \bin do servidor de relatórios. Como alternativa, você pode carregar seu assembly no cache de assembly global (GAC). Para obter mais informações, confira Trabalhando com assemblies e cache de assembly global na documentação do SDK do .NET Framework no MSDN.
Para registrar um provedor de dados .NET Framework no servidor de relatórios
Crie um backup do arquivo RSReportServer.config no diretório pai ReportServer do \bin.
Abra o RSReportServer.config. Você pode abrir o arquivo de configuração com o Visual Studio ou um editor de texto simples, como o Bloco de notas.
Localize o elemento Data no arquivo RSReportServer.config. Uma entrada para o provedor de dados .NET Framework deve ser criada no seguinte local:
<Extensions> <Data> <Extension Your data provider configuration information goes here /> </Data> </Extensions>
Adicione uma entrada para o provedor de dados .NET Framework.
Atributo Descrição Nome Forneça um nome exclusivo para o provedor de dados, como, por exemplo, MeuProvedorDadosNET. O comprimento máximo do atributo Name é de 255 caracteres. O nome deve ser exclusivo entre todas as entradas dento do elemento Extension de um arquivo de configuração. O valor incluído aqui será exibido na lista suspensa dos tipos de fonte de dados quando você criar uma nova fonte de dados. Tipo Insira uma lista separada por vírgulas que inclua o namespace totalmente qualificado da classe que implementa a interface IDbConnection, seguida pelo nome do assembly do provedor de dados .NET Framework (sem incluir a extensão de nome de arquivo .dll). Por exemplo, a entrada deve ser semelhante à seguinte para uma DLL implantada no servidor de relatórios do diretório \bin:
<Extension Name="MyNETDataProvider" Type="CompanyName.ExtensionName.DataProviderConnectionClass, DataProviderAssembly" />
Se você carregar seu assembly no cache de assembly global (GAC), poderá fornecer as propriedades de nome forte. Por exemplo:
<Extension Name="MyNETDataProvider" Type="CompanyName.ExtensionName.DataProviderConnectionClass, DataProviderAssembly,Version=1.0.0.0, Culture=neutral, PublicKeyToken=MyPublicToken"/>
Para definir a política do grupo de códigos para um provedor de dados .NET
Faça uma cópia de backup do arquivo rssrvpolicy.config no diretório pai ReportServer do \bin.
Abra o rssrvpolicy.config. Você pode abrir o arquivo de configuração com o Visual Studio ou um editor de texto simples, como o Bloco de notas.
Localize o elemento CodeGroup no arquivo rssrvpolicy.config.
Adicione um grupo de códigos para o assembly do provedor de dados que conceda permissão FullTrust . O grupo de códigos deve ser semelhante ao seguinte:
<CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust" Name="ThisDataProviderCodeGroup" Description="Code group for the .NET data provider"> <IMembershipCondition class="UrlMembershipCondition" version="1" Url= "C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin\DataProviderAssembly.dll" /> </CodeGroup>
A associação da URL é apenas uma das condições de associação que você pode selecionar para o provedor de dados.
Verificando a implantação e o registro
É possível verificar se o provedor de dados foi implantado com sucesso no servidor de relatório abrindo o portal da Web e verificando se o provedor de dados está incluído na lista de fontes de dados disponíveis. Para obter mais informações sobre o portal da Web e fontes de dados, confira Criar, modificar e excluir fontes de dados compartilhadas (SSRS).
Registrando um provedor de dados .NET Framework no Cliente do Designer de Relatórios
Para criar relatórios que usam esse provedor de dados do .NET Framework em uma fonte de dados, é preciso instalar o assembly no computador cliente que estiver executando o Designer de Relatórios. Modifique dois arquivos de configuração. Modifique o arquivo RSReportDesigner.config para registrar o provedor de dados como uma fonte de dados e para usar o designer de consulta genérico. Modifique RSPreviewPolicy.config para conceder permissões de segurança de acesso do código para o assembly do provedor de dados.
Para instalar um assembly do provedor de dados no cliente do Designer de Relatórios
Navegue até o local padrão do diretório PrivateAssemblies no cliente do Designer de Relatórios no qual deseja usar o provedor de dados do .NET Framework. A localização padrão do diretório PrivateAssemblies é <drive>:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies.
Copie o assembly de seu local de preparação para o diretório PrivateAssemblies do cliente do Designer de Relatórios. Como alternativa, você pode carregar seu assembly no cache de assembly global (GAC). Para obter mais informações, confira Trabalhando com assemblies e cache de assembly global na documentação do SDK do .NET Framework no MSDN.
Para registrar um provedor de dados .NET no cliente do Designer de Relatórios
Faça uma cópia de backup do arquivo RSReportDesigner.config no diretório PrivateAssemblies.
Abra o arquivo RSReportDesigner.config com o Visual Studio ou um editor de texto simples, como o Bloco de notas.
Localize o elemento Data no arquivo RSReportDesigner.config. Uma entrada para o provedor de dados deve ser criada no seguinte local:
<Extensions> <Data> <Extension Your data provider configuration information goes here /> </Data> </Extensions>
Adicione uma entrada para o provedor de dados.
Atributo Descrição Nome Forneça um nome exclusivo para o provedor de dados, como, por exemplo, MeuProvedorDadosNET. O comprimento máximo do atributo Name é de 255 caracteres. O nome deve ser exclusivo entre todas as entradas dento do elemento Extension de um arquivo de configuração. O valor incluído aqui será exibido na lista suspensa dos tipos de fonte de dados quando você criar uma nova fonte de dados. Tipo Insira uma lista separada por vírgulas que inclua o namespace totalmente qualificado da classe que implementa a interface IDbConnection, seguida pelo nome do assembly do provedor de dados .NET Framework (sem incluir a extensão de nome de arquivo .dll). Por exemplo, a entrada deve ser semelhante à seguinte para uma DLL implantada no diretório PrivateAssemblies do Visual Studio:
<Extension Name="MyNETDataProvider" Type="CompanyName.ExtensionName.DataProviderConnectionClass, DataProviderAssembly" />
Se você carregar seu assembly no GAC, poderá fornecer as propriedades de nome forte. Por exemplo:
<Extension Name="MyNETDataProvider" Type="CompanyName.ExtensionName.DataProviderConnectionClass, DataProviderAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=MyPublicToken"/>
Localize o elemento Designer no arquivo RSReportDesigner.config. Uma entrada para o provedor de dados .NET Framework deve ser criada no seguinte local:
<Extensions> <Designer> <Your data provider configuration information goes here> </Designer> </Extensions>
Adicione a seguinte entrada ao arquivo RSReportDesigner.config no elemento Designer : apenas o atributo Name precisará ser substituído pelo nome que você forneceu nas entradas anteriores.
<Extension Name="MyNETDataProvider" Type="Microsoft.ReportingServices.QueryDesigners.GenericQueryDesigner,Microsoft.ReportingServices.QueryDesigners"/>
Para definir a política do grupo de códigos para um provedor de dados .NET no cliente do Designer de Relatórios
Faça uma cópia de backup do arquivo RSPreviewPolicy.config no diretório PrivateAssemblies.
Abra o arquivo RSPreviewPolicy.config com o Visual Studio ou um editor de texto simples, como o Bloco de notas.
Localize o elemento CodeGroup no arquivo RSPreviewPolicy.config.
Adicione um grupo de códigos para o assembly do provedor de dados do .NET Framework que concede a permissão FullTrust. O grupo de códigos deve ser semelhante ao seguinte:
<CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust" Name="ThisDataProviderCodeGroup" Description="Code group for the .NET data provider"> <IMembershipCondition class="UrlMembershipCondition" version="1" Url= " C:\Program Files\Microsoft Visual Studio 9\Common7\IDE\PrivateAssemblies\DataProviderAssembly.dll" /> </CodeGroup>
A associação da URL é apenas uma das condições de associação que você pode selecionar para o provedor de dados.
Verificando a implantação e o registro no Cliente do Designer de Relatórios
Antes de verificar a implantação, é preciso fechar todas as instâncias do Visual Studio no computador local. Depois de encerrar todas as sessões atuais, você poderá verificar se o provedor de dados foi implantado com êxito ao Designer de Relatórios criando um novo projeto de relatório no Visual Studio. O provedor de dados deve ser incluído na lista de tipos de fontes de dados disponíveis quando você criar um novo conjunto de dados para o relatório.
Considerações sobre plataformas
Em uma plataforma de 64 bits (x64), o SSDT (SQL Server Data Tools) é executado no modo WOW de 32 bits. Quando você cria relatórios em uma plataforma x64, é preciso que os provedores de dados de 32 bits estejam instalados no cliente que está criando o relatório para que seja possível visualizá-los. Se publicar o relatório no mesmo sistema, será necessário provedores de dados x64 para exibir o relatório no portal da Web.
O SSDT (SQL Server Data Tools) não têm suporte em plataformas baseados em Itanium.
As extensões de processamento de dados que estão instaladas com o Reporting Services devem ser compiladas em modo nativo para cada plataforma e instaladas nos locais corretos. Se você registrar um provedor de dados personalizado ou um provedor de dados padrão do .NET Framework, sua compilação deverá ser executada em modo nativo para a plataforma adequada e a instalação deverá ocorrer em locais apropriados. Caso a execução esteja sendo realizada em uma plataforma de 32 bits, o provedor de dados deverá ser compilado para uma plataforma de 32 bits. Caso a execução esteja sendo realizada em uma plataforma de 64 bits, o provedor de dados deverá ser compilado para uma plataforma de 64 bits. Não é permitido usar um provedor de dados de 32 bits com interfaces de 64 bits em uma plataforma de 64 bits. No software de terceiro, procure por informações que possam indicar se o provedor de dados funcionará na plataforma em que você deseja instalá-lo. Para obter mais informações sobre os provedores de dados e o suporte à plataforma, confira Fontes de dados com suporte no Reporting Services (SSRS).