Datumsformat in gespeicherten Views einer Oracle-DB
- From: Andreas Preugschat <Andreas@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Wed, 15 Apr 2009 01:09:02 -0700
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
.
- Follow-Ups:
- Re: Datumsformat in gespeicherten Views einer Oracle-DB
- From: Ingo Moch
- Re: Datumsformat in gespeicherten Views einer Oracle-DB
- Prev by Date: Re: VB oder nicht VB?
- Next by Date: Re: VB oder nicht VB?
- Previous by thread: Combobox füllen
- Next by thread: Re: Datumsformat in gespeicherten Views einer Oracle-DB
- Index(es):
Relevant Pages
|