Danke ersteinmal für die Antwort, das Problem ist, dass das Datumsformat DATE ohne Timestap ist. Wenn ich die Uhrzeit drinlasse bekomme ich als Fehlermeldung: Literal stimmt nicht mit dem Format der Zeichenfolge überein Ich habe jetzt die Abfrage so geändert dass die Uhrzeit nicht mehr abgefragt wird sondern nur nach dem Datum selektiert wird. Hier ist die neue Abfrage: my $SQL = "SELECT DISTINCT(th.ticket_id) FROM ". "ticket_history th ". "WHERE ". "th.create_time <= '$Param{StopDay}.$Param{StopMonth}.$Param{StopYear}' ". "AND ". "th.create_time >= '$Param{StartDay}.$Param{StartMonth}.$Param{StartYear}' "; Und das ist die Fehlermeldung die Apache ausgibt: [Tue Apr 26 14:34:06 2005] null: DBD::Oracle::st fetchrow_array failed: ERROR no statement executing (perhaps you need to ca ll execute first) [for Statement "SELECT DISTINCT(th.ticket_id) FROM ticket_history th WHERE th.create_time <= '30.04.2005' AND th.create_time >= '01.04.2005' "] at /opt/otrs/bin/cgi-bin/../../Kernel/System/DB.pm line 484.
Die Ausgabe als Graph meldet "keine Daten verfügbar", die Druckausgabe liefert nicht viel nur eine schwarze Leiste mit den Monatstagen und keine daten. Die Abfrage der datenbank liefert mindestens 7 Distinct Einträge. Wo ist noch was zu ändern? Danke für die Mühe Olga.
"German OTRS documentation." doc-de@otrs.org schrieb am 26.04.05 13:45:01: Hallo,
Hallo, hat denn jemand schon mal versucht OTRS-Statistiken in Verbindung mit einer Oracle Datenbank zum Laufen zu bringen. Ohne jeglicher Konfiguration bekomme ich folgenden Fehler:
Message: ORA-01791: not a SELECTed expression (DBD ERROR: error possibly near <*> indicator at char 152 in 'SELECT DISTINCT (th.ticket_id) FROM ticket_history th WHERE th.create_time <= '2005-03-31 23:59:59' AND th.create_time >= '2005-03-01 00:00: 01' ORDER BY <*>th.create_time DESC'), SQL: 'SELECT DISTINCT(th.ticket_id) FROM ticket_history th WHERE th.create_time <= '2 005-03-31 23:59:59' AND th.create_time >= '2005-03-01 00:00:01' ORDER BY th.create_time DESC'
Traceback (6891): Module: Kernel::System::Ticket::HistoryTicketStatusGet (v1.19.2.1) Line: 2717 Module: Kernel::System::Stats::NewTickets::Run (v1.1 ) Line: 117 Module: Kernel::Modules::SystemStats::Run (v1.13 ) Line: 148 Module: Apache::ROOT::otrs::index_2epl::handler (v1.73) Line: 637 Module: (eval) (v2.01) Line: 149 Module: Apache::Registry::handler (v2.01) Line: 149
Dieselbe Abfrage habe ich dann direkt an die Datenbank gestellt, und die Abfrage scheint nicht korrekt zu sein. Und zwar mit dem Datumsformat stimmt etwas nicht. Die Spalte create_time hat DATE Format und die Einträge sehen so aus: 25.03.05 ohne Timestap. Hat jemand eine Idee wie man diese SELECT-Abfrage neu frormulieren muss um vernünftige Ergebnisse sehen zu können. System: Linux Suse 9.0 Oracle 9i OTRS 1.3.2 Danke schon mal. Olga
Ich hatte auch Probleme mit der stat. Mit Postgresql funktioniert es nicht, weil die Zeitdifferenz merkwürdig ermittelt wird.
Anstelle th.create_time <= '2005-03-31 23:59:59' sollte th.create_time < '2005-04-01 00:00:00' verwendet werden. Diese Datum existiert sonst nicht und wirft eine Warnung.
Und anstelle th.create_time >= '2005-03-01 00:00:01' sollte th.create_time >= '2005-03-01 00:00:00' verwendet werden. Wo bleibt sonst die eine Sekunde.
Bei Dir ist einfach diese Zeile falsch: ORDER BY <*>th.create_time So ein "Order By" gibt es nicht.
Warum das bei Dir so ist, sehe ich nicht.
Tschüs Thomas
<hr> _______________________________________________ doc-de mailing list doc-de@otrs.org http://lists.otrs.org/mailman/listinfo/doc-de
_______________________________________________________________ Frühlings-Aktion: Gratis DSL-Modems zur freien Auswahl Nur bis 30. April bei WEB.DE DSL! https://dsl.web.de/?mc=021193
Hallo,
das Problem ist, dass das Datumsformat DATE ohne Timestap ist. Wenn ich die Uhrzeit drinlasse bekomme ich als Fehlermeldung: Literal stimmt nicht mit dem Format der Zeichenfolge überein Ich habe jetzt die Abfrage so geändert dass die Uhrzeit nicht mehr abgefragt wird sondern nur nach dem Datum selektiert wird. Hier ist die neue Abfrage: my $SQL = "SELECT DISTINCT(th.ticket_id) FROM ". "ticket_history th ". "WHERE ". "th.create_time <= '$Param{StopDay}.$Param{StopMonth}.$Param{StopYear}' ". "AND ". "th.create_time >= '$Param{StartDay}.$Param{StartMonth}.$Param{StartYear}' "; Und das ist die Fehlermeldung die Apache ausgibt: [Tue Apr 26 14:34:06 2005] null: DBD::Oracle::st fetchrow_array failed: ERROR no statement executing (perhaps you need to ca ll execute first) [for Statement "SELECT DISTINCT(th.ticket_id) FROM ticket_history th WHERE th.create_time <= '30.04.2005' AND th.create_time >= '01.04.2005' "] at /opt/otrs/bin/cgi-bin/../../Kernel/System/DB.pm line 484.
Hmmm, die SQL-Anweisung ist OK. Aber die Fehlermeldung sieht aus, als wenn fetchrow_array im Oracle Perlmodul eine Abfrage versucht zu lesen ohne diese vorher auszuführen. Da kann ich nicht viel sagen.
Tschüs Thomas
participants (2)
-
Olga Daft
-
Thomas Kaminski