ODBC in Base

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Pfeiffer
***
Beiträge: 87
Registriert: Fr, 24.02.2006 23:05

ODBC in Base

Beitrag von Pfeiffer »

Guten Tag,
kann mir jemand sagen, was dieser Fehlercode bedeutet:

SQL-Status: NA000
Fehler-Code: -2147467259

[Microsoft][ODBC driver for Oracle][Oracle]ORA-00979: not a GROUP BY expression

Gruß
Pfeiffer
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: ODBC in Base

Beitrag von komma4 »

Bei was kommt die Meldung? Eine Abfrage (bitte zeigen)?
Sage uns bitte auch: OOo Version, Betriebssystem, Oracle-Version, ODBC-Treiberversion.

Hat die Aktion, bei der jetzt der Fehler auftritt, schonmal funktioniert?



Google findet den Fehler -und mögliche Lösungen (Spalte in der Gruppierung angeben)- jedenfalls auch...
Google hat geschrieben:Ergebnisse 1 - 10 von ungefähr 3.320 für ORA-00979.
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Pfeiffer
***
Beiträge: 87
Registriert: Fr, 24.02.2006 23:05

Re: ODBC in Base

Beitrag von Pfeiffer »

Hallo Winfried,
tut mir leid, aber dies ist die eigentliche Fehlermeldung:

SQL-Status: 37000
Fehler-Code: -2147217900

[Microsoft][ODBC driver for Oracle][Oracle]ORA-00933: SQL command not properly ended

also die Fehlermeldung tritt immer dann auf, wenn ich die Abfrage im Bearbeitungsfenster geändert habe. Wenn ich die Änderungen im SQL-Fenster vornehme, funktioniert die Abfrage....

VORHER funktioniert
"SELECT "PM"."Z_PUNKT", "PMESS"."ST_ART", "PMESS"."S_ID", "PMESS"."GE" FROM "PMESS", "PM" WHERE ( "PMESS"."SE_NR" = "PM"."SE_NR" ) AND ( ( "PM"."Z_PUNKT" BETWEEN {D '2008-10-01' } AND {D '2008-10-31' } AND "PMESS"."ST_ART" = 'L' ) ) OR ( "PMESS"."SE_NR" = "PM"."SE_NR" ) AND ( ( "PM"."Z_PUNKT" BETWEEN {D '2008-10-01' } AND {D '2008-10-31' } AND "PMESS"."ST_ART" = 'Z' ) )"

NACHHER (Z_PUNKT und S_ID gruppiert; GE summiert) funktioniert nicht
SELECT "PM"."Z_PUNKT", "PMESS"."ST_ART", "PMESS"."S_ID", SUM( "PMESS"."GE" ) FROM "PM" AS "PM", "PMESS" AS "PMESS" WHERE ( "PMESS"."SE_NR" = "PM"."SE_NR" AND ( "PMESS"."ST_ART" = 'L' OR "PMESS"."ST_ART" = 'Z' ) ) GROUP BY "PM"."Z_PUNKT", "PMESS"."ST_ID" HAVING ( ( "PM"."Z_PUNKT" BETWEEN {D '2008-10-01' } AND {D '2008-10-31' } ) OR ( "PM"."Z_PUNKT" BETWEEN {D '2008-10-01' } AND {D '2008-10-31' } ) )

OOo 3.0; Win XP SP2

Gruß
Pfeiffer
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: ODBC in Base

Beitrag von komma4 »

???

1). Das ist eine neue Fehlermeldung... und ich sehe den Fehler ("Kommando nicht abgeschlossen") nicht.

2). die beiden OR-Bedingungen der HAVING-Klausel sind identisch???
3). Warum schränkst Du den Monat nicht mit der WHERE-Klausel ein: WHERE ... AND TO_CHAR( "PM"."Z_PUNKT", 'MM') = '10' ?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Pfeiffer
***
Beiträge: 87
Registriert: Fr, 24.02.2006 23:05

Re: ODBC in Base

Beitrag von Pfeiffer »

Guten Morgen!
komma4 hat geschrieben:ich sehe den Fehler ("Kommando nicht abgeschlossen") nicht.
...ich auch nicht, deswegen ja meine Verzweiflung.... :(
komma4 hat geschrieben:Warum schränkst Du den Monat nicht mit der WHERE-Klausel ein: WHERE ... AND TO_CHAR( "PM"."Z_PUNKT", 'MM') = '10' ?[
.. weil ich mich mit SQL-Abfrage schreiben nicht auskenne, bin Access-Umsteiger (oder möchte es gerne sein) und hier hab ich eben immer alles über das Bearbeitungsfenster gemacht. Ich dachte dies sei in OOo-Base ebenfalls ohne Probleme möglich, weil sonst würde so ein Bearbeitungsfenster ja keinen SInn machen. Aber wie gesagt, sobald ich etwas in diesem Bearbeitungsfenster ändere, wird meine SQL-Abfrage so verändert, dass nichts mehr geht und o.g. Fehlermeldung auftritt.

Gruß
Pfeiffer
Barlee
******
Beiträge: 767
Registriert: Sa, 17.12.2005 12:27

Re: ODBC in Base

Beitrag von Barlee »

Hallo Pfeiffer,

Dein SQL:

Code: Alles auswählen

SELECT 
"PM"."Z_PUNKT", 
"PMESS"."ST_ART", 
"PMESS"."S_ID", 
SUM( "PMESS"."GE" ) 
FROM ...

Code: Alles auswählen

...GROUP BY 
"PM"."Z_PUNKT", 
"PMESS"."ST_ID" 
HAVING... 
Mir fällt auf, dass "PMESS"."ST_ART" nicht in GROUP BY aufgeführt ist.
Ergänze dies und probiere erneut. Wie sieht es dann aus?

Gruß Barlee
Pfeiffer
***
Beiträge: 87
Registriert: Fr, 24.02.2006 23:05

Re: ODBC in Base

Beitrag von Pfeiffer »

Guten Morgen Barlee,
es geht mir ja gar nicht um den SQL-Befehl, sondern darum dass sich der Befehl von selber ändert, wenn man mit dem Bearbeitungsfenster arbeitet:
komma4 hat geschrieben:sobald ich etwas in diesem Bearbeitungsfenster ändere, wird meine SQL-Abfrage so verändert, dass nichts mehr geht und o.g. Fehlermeldung auftritt.
Gruß
Pfeiffer
Barlee
******
Beiträge: 767
Registriert: Sa, 17.12.2005 12:27

Re: ODBC in Base

Beitrag von Barlee »

Hallo Pfeiffer,

kontrolliere einmal die erweiterten Eigenschaften der Datenbank. Evtl. liegt hier ein Problem (rechte Maustaste auf Tabelle >> Datenbank >> erweiterte Eigenschaften)

Gruß Barlee
Pfeiffer
***
Beiträge: 87
Registriert: Fr, 24.02.2006 23:05

Re: ODBC in Base

Beitrag von Pfeiffer »

Guten Morgen Barlee!
Es ist geschafft, die Idee mit den erweiterten Eigenschaften brachte den Durchbruch!
Danke!
Gruß Pfeiffer
Gesperrt