Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Exceção do formato Oracle Date no SQL Server Reporting Services


O SSRS 2008 usou o antigo System.Data.OracleClient. No SSRS 2016 e posterior, você precisa instalar o provedor Oracle ODP.NET, criado e suportado pela Oracle. Portanto, provavelmente apenas uma diferença em como o parâmetro de sessão NLS_DATE_FORMAT é definido pelos dois drivers.

Você pode ver sua configuração se adicionar um conjunto de dados ao seu relatório com esta consulta:
select parameter, value 
from nls_session_parameters 
where parameter like 'NLS%'
order by parameter

Infelizmente, não parece haver uma maneira de alterar globalmente o formato de data do cliente no Oracle.ManagedDataAccess, portanto, você terá que fazer todas as alterações nas consultas do conjunto de dados do relatório.

Alternativamente, você pode tentar garantir que está passando parâmetros de data e não parâmetros de string. Se você passar uma data para a função to_date() do Oracle, não precisará especificar um formato.

Os documentos para SSRS 2014 "Esse tipo de fonte de dados integrado é baseado no .NET Framework Managed Provider para Oracle e requer um componente de software cliente Oracle."

E para SSRS 2016 "Esse tipo de fonte de dados integrado usa o Oracle Data Provider diretamente e requer um componente de software cliente Oracle."