Erro ao salvar relatório no Reporting Services 2016
Olá pessoal, tudo certo?
Fiquei ausente uns dias mas estamos de volta, hoje compartilharei um problema que tive na empresa que trabalho.
O time de BI, resolveu implementar o Reporting Services 2016, na realidade o projeto inicial era instalar o Datazen, mas como a ferramenta foi integrada ao Reporting Services 2016, resolvemos iniciar o projeto com o Reporting Services, assim fizemos a instalação do SQL Server 2016 com o Reporting Service, fizemos a configuração com sucesso, porém na hora de salvar os relatórios estava dando o seguinte erro:
“System.Reflection.TargetInvocationException Exception has been thrown by the target of an invocation. — System.InvalidOperationException This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.“
Após algumas consultas no nosso amigo Google, descobri que o problema era porque o FIPS estava habilitado no servidor, consultei o time de segurança da possibilidade de desabilita-lo, e fui informado que não é possível por causa da política de segurança da empresa.
Diante do cenário, juntamente com o Dirceu Resende, começamos a buscar uma solução de contorno e encontramos um documento da Microsoft que diz que “This is happening because FIPS is enabled on the Reporting Services server and Report Manager does not support the Local Security Policy “System cryptograph” ou seja o Reporting Services não é suportado, e recomenda desabilitar a policy, o que não é permitido no ambiente da empresa.
Se você tiver esse problema, e puder desabilitar a policy do FIPS, basta alterar somente um registro.
“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\fipsalgorithmpolicy“
Setar o valor da chave “Enabled” para “0”.
Como não posso desabilitar o FIPS, encontrei uma solução de contorno no Fórum Technet, nele a solução proposta é para editar o arquivo machine.config do .NetFrameWork (C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config) e adicionar a seguinte configuração ao final do arquivo.
<mscorlib> <cryptographySettings> <cryptoNameMapping> <cryptoClasses> <cryptoClass SHA256CSP="System.Security.Cryptography.SHA256CryptoServiceProvider, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> </cryptoClasses> <!-- name mappings --> <nameEntry name="SHA256" class="SHA256CSP" /> <nameEntry name="SHA256CryptoServiceProvider" class="SHA256CSP" /> <nameEntry name="System.Security.Cryptography.SHA256CryptoServiceProvider" class="SHA256CSP" /> <nameEntry name="System.Security.Cryptography.SHA256" class="SHA256CSP"/> </cryptoNameMapping> </cryptographySettings> </mscorlib>
Após editar o arquivo machine.config, é necessário reiniciar o serviço do Reporting Service, recomendo que você faça um backup do arquivo antes de alterar.
Feito o procedimento acima, conseguimos publicar os relatórios com sucesso.
Bom por hoje é isso.
Abraços,
Tiago Neves
Boa tarde! Por favor, estou com um problema no RS 2016 tb, foi instalado, ao usar o ReportBuilder, obtenho o erro :
“Houve uma tentativa de usar a extensão de dados ‘OLEDB-MD’, que não está registrada para este servidor de relatório ou não tem suporte nesta edição do Reporting Services.”
Reinstalei, instalei AnalysisServices pra tentar atualizar algum driver e o erro permanece.
Alguma dica, por favor ?
Grato.