Fehler mit UnlockTickets.pl

Hilfe zu Znuny Problemen aller Art
Locked
olli
Znuny newbie
Posts: 4
Joined: 20 Jul 2006, 11:33

Fehler mit UnlockTickets.pl

Post by olli »

Hallo,

ich habe ein Problem mit dem Script UnlockTickets.pl, jedesmal bei der Ausführung kommt folgede Fehlermeldung:


bash-3.00# /opt/otrs/bin/UnlockTickets.pl --timeout UnlockTickets.pl <Revision 1.19> - unlock tickets
Copyright (c) 2001-2004 Martin Edenhofer <martin@otrs.org>
Unlock old tickets:
DBD::mysql::st execute failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AND st.ticket_lock_id NOT IN ( 1, 3 )' at line 1 at /opt/otrs/Kernel/System/DB.pm line 440, <DATA> line 283.
ERROR: OTRS-UnlockTickets-10 Perl: 5.8.5 OS: linux Time: Wed Aug 16 11:54:11 2006

Message: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AND st.ticket_lock_id NOT IN ( 1, 3 )' at line 1, SQL: 'SELECT st.tn, st.ticket_answered, st.id, st.timeout, sq.unlock_timeout FROM ticket st, queue sq WHERE st.queue_id = sq.id AND st.ticket_answered != 1 AND sq.unlock_timeout != 0 AND st.ticket_state_id IN ( ) AND st.ticket_lock_id NOT IN ( 1, 3 ) '

Traceback (3049):
Module: /opt/otrs/bin/UnlockTickets.pl (v1.19) Line: 127

DBD::mysql::st fetchrow_array failed: fetch() without execute() at /opt/otrs/Kernel/System/DB.pm line 477, <DATA> line 283.



ich habe schon selber ein bisschen gesucht, aber da ich weder SQL noch Perl ausreichend kenne, komme ich nicht mehr weiter.

Ich kann den Fehler auf diesen SQL Ausdruck reduzieren "AND st.ticket_state_id IN ( )"
Lasse ich den Ausdruck weg, dann bekomme ich keine Fehlermeldung mehr. Allerdings ist mir nicht klar, was dieses Statement soll? Laut Srcript wird dort ein Wert eingetragen, aber ich habe noch keine "gelockten" Tickets, da Neuinstallation! :lol:

Ich wäre froh, wenn mir jemand bei dem Fehler helfen könnte.

Unser System: CentOS 4.3; MySql 4.1.20; OTRS 2.04
flups
Znuny newbie
Posts: 95
Joined: 16 Mar 2006, 14:48
Location: Kelkheim
Contact:

Re: Fehler mit UnlockTickets.pl

Post by flups »

olli wrote: Ich kann den Fehler auf diesen SQL Ausdruck reduzieren "AND st.ticket_state_id IN ( )"
Über diese Klammern gibt man bei SQL ein Suchkriterium an, dass sich auf einen ganze Menge von Werten bezeiehn kann. "ticket_state_id IN ( 3,5 )" heißt z.B., dass bei der Suche die Zeilen berücksichtet werden sollen, bei denen die Spalte ticket_state_id die Werte 3 oder 5 annimmt. Mengenlehre lässt grüßen.

Nur ist es so, dass in SQL die leere Menge unzulässig ist.

Ich würde dazu einen Bugreport aufmachen. Das ganze liegt zwar wohl erst mal nicht am Skript, sondern an deiner Gesamtkonfig, nur dürfte so eine unzulässige Abfrage halt nicht ausgeführt werden bzw. müsste imho vorher abgefangen werden.

Flups
Ich arbeite mit OTRS 2.3.3, ITSM 1.2.2, SLES 10 Pl 2.

Alle Aussagen ohne Gewähr. Wer nicht testet, bevor er produktiv wird, ist selber schudl.
olli
Znuny newbie
Posts: 4
Joined: 20 Jul 2006, 11:33

Post by olli »

Hallo

ich habe versucht mal das Script UnlockTickets.pl anzupassen, ich habe folgendes eingefügt


# direkt nach elsif ($Command eq '--timeout') {
#
if (@UnlockStateIDs eq '') {
#
# zum Schluss noch
#
print "no tickets to unlock!\n";
}
#
# die Zeile mit dem print kann man auch weglassen


Jetzt bekomme ich eine Meldung wenn das Script ausgeführt wird.

So wie es aussieht, funktioniert das Script jetzt ohne Felhermeldung :-)


Gruß Olli
Andre Bauer
Znuny guru
Posts: 2189
Joined: 08 Dec 2005, 17:01
Znuny Version: 5.0.x
Real Name: André Bauer
Company: Magix Software GmbH
Location: Dresden
Contact:

Post by Andre Bauer »

Komisch. Es fehlte also eine geschweifte Klammer?
Kannst du dir die OTRS Sourcen nochmal runterladen und schaun ob das dort auch so ist?
Prod: Ubuntu Server 16.04 / Zammad 1.2

DO NOT PM ME WITH OTRS RELATED QUESTIONS! ASK IN THE FORUMS!

OtterHub.org
olli
Znuny newbie
Posts: 4
Joined: 20 Jul 2006, 11:33

Post by olli »

Hallo monotek,

es fehlt nich nur die Klammer, sondern eine Abfrage, ob ein Werk vorhanden ist.

if (@UnlockStateIDs eq '') {

# hier steht der Inhalt der elseif Anweisung

print "no tickets to unlock!\n";
}
Andre Bauer
Znuny guru
Posts: 2189
Joined: 08 Dec 2005, 17:01
Znuny Version: 5.0.x
Real Name: André Bauer
Company: Magix Software GmbH
Location: Dresden
Contact:

Post by Andre Bauer »

Un das ist in den Orignal Sourcen auch schon so?
Sehr komisch....
Prod: Ubuntu Server 16.04 / Zammad 1.2

DO NOT PM ME WITH OTRS RELATED QUESTIONS! ASK IN THE FORUMS!

OtterHub.org
olli
Znuny newbie
Posts: 4
Joined: 20 Jul 2006, 11:33

Post by olli »

ich habe das ftp://ftp.otrs.org/pub/otrs/RPMS/redhat ... 1.i386.rpm Paket von otrs.org installiert.
Locked