Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Ausnahme im Oracle-Datumsformat in SQL Server Reporting Services

SSRS 2008 verwendete die alte System.Daten.OracleClient. In SSRS 2016 und höher müssen Sie den Oracle ODP.NET-Anbieter installieren, der von Oracle erstellt und unterstützt wird. Also wahrscheinlich nur ein Unterschied darin, wie der Sitzungsparameter NLS_DATE_FORMAT von den beiden Treibern gesetzt wird.

Sie können Ihre Einstellung sehen, wenn Sie mit dieser Abfrage einen Datensatz zu Ihrem Bericht hinzufügen:

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

Leider scheint es keine Möglichkeit zu geben, das Client-Datumsformat in Oracle.ManagedDataAccess global zu ändern, sodass Sie alle Änderungen in den Abfragen des Berichtsdatasets vornehmen müssen.

Alternativ können Sie versuchen sicherzustellen, dass Sie Date-Parameter und keine String-Parameter übergeben. Wenn Sie ein Datum an die to_date()-Funktion von Oracle übergeben, müssen Sie kein Format angeben.

Die Dokumentation für SSRS 2014 "Dieser integrierte Datenquellentyp basiert auf dem .NET Framework Managed Provider für Oracle und erfordert eine Oracle-Client-Softwarekomponente."

Und für SSRS 2016 "Dieser integrierte Datenquellentyp verwendet den Oracle-Datenanbieter direkt und erfordert eine Oracle-Client-Softwarekomponente."