Registar um fornecedor de dados padrão do .NET Framework (SSRS)

Para utilizar um fornecedor de dados terceiro do .NET Framework para obter dados para um conjunto de dados de relatórios do Reporting Services, é necessário implementar e registar o conjunto do fornecedor de dados do .NET Framework em dois locais: no cliente de autoria de relatórios e no servidor de relatórios. No cliente de criação de relatórios, deve registar o fornecedor de dados como tipo de fonte de dados e associá-lo a um designer de consultas. Pode então selecionar este fornecedor de dados como um tipo de fonte de dados ao criar um conjunto de dados de relatórios. O designer de consultas associado é aberto para o ajudar a criar consultas para este tipo de fonte de dados. No servidor de relatórios, deve registar o fornecedor de dados como tipo de fonte de dados. Pode então processar relatórios publicados que recuperam dados de uma fonte de dados usando este fornecedor de dados.

Os fornecedores de dados terceiros não fornecem necessariamente toda a funcionalidade disponível com as extensões de processamento de dados do Reporting Services. Para obter mais informações, consulte fontes de dados suportadas pelo Reporting Services (SSRS). Para saber como expandir a funcionalidade de um . fornecedor de dados do .NET Framework, veja Implementar uma Extensão de Processamento de Dados.

Precisa de credenciais de administrador para instalar e registar fornecedores de dados.

Registar um .NET Framework Data Provider no Servidor de Relatórios

Para processar relatórios publicados que utilizam este fornecedor de dados do .NET Framework no servidor de relatórios, é necessário instalar o assembly no servidor de relatórios. Deve modificar dois ficheiros de configuração. Modificar rsreportserver.config para registar o fornecedor de dados. Modificar rssrvpolicy.config para conceder permissões de segurança de acesso ao código à assemblagem.

Para instalar um conjunto de fornecedor de dados no servidor de relatórios

  1. Navegue até à localização padrão do diretório bin no servidor de relatórios onde pretende usar o fornecedor de dados do .NET Framework. A localização padrão do diretório bin do servidor de relatórios é <drive>:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin.

  2. Copie a sua assemblagem do local de preparação para o diretório bin do servidor de relatórios. Em alternativa, pode carregar a sua assembly na cache de assemblies global (GAC). Para mais informações, consulte Working with Assemblies and the Global Assembly Cache na documentação do SDK do .NET Framework no MSDN.

Para registar um fornecedor de dados .NET no servidor de relatórios

  1. Faça uma cópia de segurança do ficheiro RSReportServer.config no diretório pai do ReportServer para o bin.

  2. Abre RSReportServer.config. Pode abrir o ficheiro de configuração com o Visual Studio ou com um editor de texto simples, como o Notepad.

  3. Localize o elemento Data no ficheiro RSReportServer.config. Uma entrada para o fornecedor de dados do .NET Framework deve ser feita na seguinte localização:

    <Extensions>  
       <Data>  
          <Extension Your data provider configuration information goes here />  
       </Data>  
    </Extensions>  
    
  4. Adicione uma entrada para o fornecedor de dados do .NET Framework.

    Attribute Description
    Nome Forneça um nome único para o fornecedor de dados, por exemplo, MyNETDataProvider. O comprimento máximo do atributo Nome é de 255 caracteres. O nome deve ser único entre todas as entradas dentro do elemento Extensão de um ficheiro de configuração. O valor que inclui aqui aparece na lista suspensa de tipos de fontes de dados quando cria uma nova fonte de dados.
    Type Introduza uma lista separada por vírgulas que inclui o namespace totalmente qualificado da classe que implementa a IDbConnection interface, seguida do nome do conjunto do fornecedor de dados do .NET Framework (sem incluir a extensão do nome do ficheiro .dll).

    Por exemplo, a entrada pode assemelhar-se à seguinte para uma DLL implementada no diretório bin do servidor de relatório:

    <Extension Name="MyNETDataProvider" Type="CompanyName.ExtensionName.DataProviderConnectionClass, DataProviderAssembly" />   
    

    Se carregar o seu assembly na cache global de assemblies (GAC), deve fornecer as propriedades do nome seguro. Por exemplo:

    <Extension Name="MyNETDataProvider" Type="CompanyName.ExtensionName.DataProviderConnectionClass, DataProviderAssembly,Version=1.0.0.0, Culture=neutral, PublicKeyToken=MyPublicToken"/>  
    

Para definir a política de grupo de código para um fornecedor de dados .NET

  1. Faz uma cópia de backup do ficheiro rssrvpolicy.config no diretório pai do ReportServer para bin.

  2. Abre rssrvpolicy.config. Pode abrir o ficheiro de configuração com o Visual Studio ou com um editor de texto simples como o Notepad.

  3. Localize o elemento CodeGroup no ficheiro rssrvpolicy.config.

  4. Adicione um grupo de código para a assembly do fornecedor de dados que concede a permissão FullTrust. O seu grupo de código pode assemelhar-se 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 adesão à URL é apenas uma das muitas condições de adesão que pode escolher para o fornecedor de dados.

Verificação da Implementação e Registo

Pode verificar se o fornecedor de dados foi implementado com sucesso no servidor de relatórios abrindo o portal web e verificando que o fornecedor de dados está incluído na lista de fontes de dados disponíveis. Para mais informações sobre o portal web e as fontes de dados, consulte Criar, Modificar e Eliminar Fontes de Dados Partilhadas (SSRS).

Registar um fornecedor de dados do .NET Framework no cliente do Estruturador de Relatórios

Para criar relatórios que utilizam este fornecedor de dados do .NET Framework como fonte de dados, deve instalar o assembly no seu computador cliente que executa o Report Designer. Deve modificar dois ficheiros de configuração. Modificar RSReportDesigner.config para registar o fornecedor de dados como fonte de dados e para usar o designer genérico de consultas. Modificar RSPreviewPolicy.config para conceder permissões de segurança de acesso ao código à assemblagem do provedor de dados.

Para instalar um conjunto de fornecedor de dados no cliente Report Designer

  1. Navegue até à localização padrão do diretório PrivateAssemblies no cliente Report Designer, onde pretende usar o fornecedor de dados .NET Framework. A localização padrão do diretório PrivateAssemblies é <drive>:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies.

  2. Copie a sua assemblagem do local de teste para o diretório PrivateAssemblies do cliente do Report Designer. Em alternativa, pode carregar a sua assembly na cache de assemblies global (GAC). Para mais informações, consulte Working with Assemblies and the Global Assembly Cache na documentação do SDK do .NET Framework no MSDN.

Para registar um fornecedor de dados .NET no cliente Report Designer

  1. Faz uma cópia de segurança do ficheiro RSReportDesigner.config no diretório PrivateAssemblies.

  2. Abre RSReportDesigner.config com Visual Studio ou um editor de texto simples como o Notepad.

  3. Localize o elemento Data no ficheiro RSReportDesigner.config. Deve ser feita uma entrada para o fornecedor de dados no seguinte local:

    <Extensions>  
       <Data>  
          <Extension Your data provider configuration information goes here />  
       </Data>  
    </Extensions>  
    
  4. Adicione uma entrada para o fornecedor de dados.

    Attribute Description
    Nome Forneça um nome único para o fornecedor de dados, por exemplo, MyNETDataProvider. O comprimento máximo do atributo Nome é de 255 caracteres. O nome deve ser único entre todas as entradas dentro do elemento Extensão de um ficheiro de configuração. O valor que inclui aqui aparece na lista suspensa de tipos de fontes de dados quando cria uma nova fonte de dados.
    Type Introduza uma lista separada por vírgulas que inclui o namespace totalmente qualificado da classe que implementa a IDbConnection interface, seguida do nome do conjunto do fornecedor de dados do .NET Framework (sem incluir a extensão do nome do ficheiro .dll).

    Por exemplo, a entrada pode assemelhar-se à seguinte para uma DLL implementada no diretório Visual Studio PrivateAssemblies:

    <Extension Name="MyNETDataProvider" Type="CompanyName.ExtensionName.DataProviderConnectionClass, DataProviderAssembly" />   
    

    Se carregar o seu conjunto no GAC, deve fornecer as propriedades do nome forte. Por exemplo:

    <Extension Name="MyNETDataProvider" Type="CompanyName.ExtensionName.DataProviderConnectionClass, DataProviderAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=MyPublicToken"/>  
    
  5. Localiza o elemento Designer no ficheiro RSReportDesigner.config. Uma entrada para o fornecedor de dados do .NET Framework deve ser feita na seguinte localização:

    <Extensions>  
       <Designer>  
          <Your data provider configuration information goes here>  
       </Designer>  
    </Extensions>  
    
  6. Adicione a seguinte entrada ao ficheiro RSReportDesigner.config sob o elemento Designer . Precisa de substituir apenas o atributo Nome pelo nome que forneceu nas entradas anteriores.

    <Extension Name="MyNETDataProvider" Type="Microsoft.ReportingServices.QueryDesigners.GenericQueryDesigner,Microsoft.ReportingServices.QueryDesigners"/>  
    

Para definir a política de grupo de código para um fornecedor de dados .NET no cliente Report Designer

  1. Faz uma cópia de segurança do ficheiro RSPreviewPolicy.config no diretório PrivateAssemblies.

  2. Abrir RSPreviewPolicy.config com Visual Studio ou um editor de texto simples, como o Notepad.

  3. Localize o elemento CodeGroup no ficheiro RSPreviewPolicy.config.

  4. Adicione um grupo de código para o conjunto do fornecedor de dados do .NET Framework que conceda permissão ao FullTrust. O seu grupo de código pode assemelhar-se 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 adesão à URL é apenas uma das muitas condições de adesão que pode escolher para o fornecedor de dados.

Verificação da implementação e registo no cliente Report Designer

Antes de poderes verificar a implementação, deves fechar todas as instâncias do Visual Studio no teu computador local. Depois de terminar todas as sessões atuais, pode verificar se o seu fornecedor de dados foi implementado com sucesso no Report Designer, criando um novo projeto de relatório no Visual Studio. O fornecedor de dados deve ser incluído na lista de tipos de fontes de dados disponíveis quando cria um novo conjunto de dados para o seu relatório.

Considerações da Plataforma

Numa plataforma de 64 bits (x64), o SQL Server Data Tools (SSDT) corre em modo WOW de 32 bits. Quando cria relatórios numa plataforma x64, precisa de fornecedores de dados de 32 bits instalados no cliente de autoria de relatórios para poder pré-visualizar os seus relatórios. Se publicar o relatório no mesmo sistema, é necessário ter provedores de dados x64 para ver o relatório no portal da Web.

O SQL Server Data Tools (SSDT) não é suportado para plataformas baseadas em Itanium.

As extensões de processamento de dados instaladas com o Reporting Services devem ser compiladas nativamente para cada plataforma e instaladas nos locais corretos. Se registar um fornecedor de dados personalizado ou um fornecedor de dados padrão do .NET Framework, este precisa de ser compilado nativamente para a plataforma apropriada e instalado nas localizações apropriadas. Se estiver a correr numa plataforma de 32 bits, o fornecedor de dados deve ser compilado para uma plataforma de 32 bits. Se estiver a correr numa plataforma de 64 bits, o fornecedor de dados deve ser compilado para a plataforma de 64 bits. Não pode usar um fornecedor de dados de 32 bits envolto com interfaces de 64 bits numa plataforma de 64 bits. Verifique o seu software de terceiros para saber se o fornecedor de dados irá funcionar na plataforma instalada. Para mais informações sobre fornecedores de dados e suporte à plataforma, consulte Fontes de Dados Suportadas por Reporting Services (SSRS).