Datumsformat in gespeicherten Views einer Oracle-DB



Hallo NG,
ich habe mir ein kleines Excel-Addin gebastelt, mit dem ich kleinere
Ad-hoc-Abfragen über eine Oracle-DB ausführen kann. Die Verbindung stelle ich
mit ADO her unter Verwendung des "OraOLEDB.Oracle"-Treibers.
Meine SQL-Kommandos führe ich nach diesem Muster aus:

.....
With Cmd
.ActiveConnection = OraCnn
.CommandType = adCmdText
.CommandText = "SELECT * FROM TABELLE1"
.......

Die Abfragen, die ich ausführe, sind als Textdateien auf dem lokalen Rechner
gespeichert. Hierbei ist mir bereits aufgefallen, dass die Syntax, die im
SQL-Developer einwandfrei funktioniert über ADO Fehlermeldungen verursacht.
Lautet ein Statement z.B. "SELECT * FROM TABLE1 WHERE DATUM='31.12.2008'",
wird die Fehlermeldung "ORA-01847: Tag des Monats muss zwischen 1 und letztem
Tag des Monats liegen" ausgegeben.
Die Lösung des Problems ist folgende Formulierung: "....WHERE
DATUM=TO_DATE('2008-12-31')".
Nun wollte ich bereits in der DB vorhandene Views benutzen. Zum Teil
enthalten die Where-Klauseln konstante Datumsliterale, die in der normalen
deutschen Schreibweise gespeichert sind (NLS-Parameter sind entsprechend
eingestellt).

Das Kommando wird dann so eingeleitet:

....
With Cmd
.ActiveConnection = OraCnn
.CommandType = adCmdText
.CommandText = "SELECT * FROM " & Eigentuemer & "." & AbfrageName
.....

Die Variable "Eigentuemer" repräsentiert das DB-Schema und "AbfrageName" die
betroffene Sicht.

Auch hier erhalte ich die Fehlermeldung ORA-01847. Wird in der View das
Datumsliteral wie beschrieben aufbereitet, funktioniert das wieder.

Frage: Hebelt ADO die NLS-Parameter so aus, dass auch gespeicherte Views
entsprechend umformuliert werden müssten?

--
Mit freundlichen Gruessen aus Berlin
Andreas Preugschat
------------------------------------
Windows XP SP2 // Office 2003 SP2
.



Relevant Pages

  • Re: Workdays function with Australian Dates
    ... Why would ADO make a difference here? ... cnD.Execute strSQL,, adCmdText + adExecuteNoRecords ... 17.03.2006 ADO ODBC number ...
    (comp.databases.ms-access)
  • Re: Datumsformat in gespeicherten Views einer Oracle-DB
    ... Developer einwandfrei funktioniert über ADO Fehlermeldungen ... Tag des Monats liegen" ausgegeben. ... Auch hier erhalte ich die Fehlermeldung ORA-01847. ... Ich wuerde mal die NLS-Parameter der Oracle-Runtime ...
    (microsoft.public.de.vb.datenbank)
  • Re: GUID auslesen - aber wie???
    ... Wenn ich nun SELECT ID FROM Tabelle per ADO mache kommt folgende ... Laufzeitfehler '-2147217887 ' ... Da kommt jetzt folgende Fehlermeldung: ... Umgekehrt habe ich die GUID per ADO als String reinbekommen - das war ...
    (microsoft.public.de.vb.datenbank)
  • Fehler beim Connect zur DB
    ... Die Datei "Test.dsn" wird mit dem ODBC-Datenbankadministrator ... dass ADO mit der Datei nichts anfangen. ... Hab schon bei google und Microsoft nach der Fehlermeldung ... Next by Date: ...
    (microsoft.public.de.vb.datenbank)
  • Re: MS Visual C++.NET 2003
    ... es kommt die Fehlermeldung dass die Datei: ... nichts mit ADO zu tun. ... Next by Date: ...
    (microsoft.public.de.vc)