Oracle
 sql >> Base de données >  >> RDS >> Oracle

Exception de format de date Oracle dans SQL Server Reporting Services

SSRS 2008 utilisait l'ancien System.Data.OracleClient. Dans SSRS 2016 et versions ultérieures, vous devez installer le fournisseur Oracle ODP.NET, créé et pris en charge par Oracle. Donc probablement juste une différence dans la façon dont le paramètre de session NLS_DATE_FORMAT est défini par les deux pilotes.

Vous pouvez voir votre paramètre si vous ajoutez un ensemble de données à votre rapport avec cette requête :

select parameter, value 
from nls_session_parameters 
where parameter like 'NLS%'
order by parameter

Malheureusement, il ne semble pas y avoir de moyen de modifier globalement le format de date du client dans Oracle.ManagedDataAccess, vous devrez donc apporter toutes les modifications dans les requêtes du jeu de données du rapport.

Vous pouvez également essayer de vous assurer que vous transmettez des paramètres de date et non des paramètres de chaîne. Si vous transmettez une date à la fonction to_date() d'Oracle, vous n'avez pas besoin de spécifier de format.

La documentation pour SSRS 2014 "Ce type de source de données intégré est basé sur le fournisseur géré .NET Framework pour Oracle et nécessite un composant logiciel client Oracle."

Et pour SSRS 2016 "Ce type de source de données intégré utilise directement le fournisseur de données Oracle et nécessite un composant logiciel client Oracle."