SQL-Syntax-Error im Syslog

Hilfe zu OTRS Problemen aller Art
Post Reply
pbr
Znuny newbie
Posts: 6
Joined: 31 Mar 2011, 14:21
Znuny Version: 2.4.9

SQL-Syntax-Error im Syslog

Post by pbr »

Hi,

Wie in meinem anderen Thread zu einem anderen Thema schon gesagt hab ich vor kurzem die Pflege eines OTRS "geerbt". Upgrade von 2.1.5 auf 2.4.9 hat soweit auch gut geklappt - zumindest gibt es keine Nutzungseinschränkungen.

Was mir allerdings aufgefallen ist sind ein paar Fehlermeldungen im Syslog:

Code: Select all

Apr  1 09:17:23 mhs-otrs2 OTRS-CGI-10[6456]: [Error][Kernel::System::Ticket::TicketSearch][Line:4768]: 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 IN (2) AND st.user_id IN (32) AND sq.group_id IN (1, 4,' at line 1, SQL: 'SELECT DISTINCT st.id, st.tn, st.until_time FROM ticket st, queue sq  WHERE sq.id = st.queue_id AND st.ticket_state_id IN (  )  AND st.ticket_lock_id IN (2) AND st.user_id IN (32) AND sq.group_id IN (1, 4, 5, 6)  AND st.ticket_state_id IN (6, 7, 8)  AND st.until_time <= 1301642183 ORDER BY st.until_time DESC LIMIT 10'
Apr  1 09:17:23 mhs-otrs2 OTRS-CGI-10[6456]: [Error][Kernel::System::Ticket::TicketSearch][Line:4768]: 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 sq.group_id IN (1, 4, 5, 6)  AND st.ticket_state_id IN (6, 7, 8)  AND st.' at line 1, SQL: 'SELECT DISTINCT count(*) FROM ticket st, queue sq  WHERE sq.id = st.queue_id AND st.ticket_state_id IN (  )  AND sq.group_id IN (1, 4, 5, 6)  AND st.ticket_state_id IN (6, 7, 8)  AND st.until_time <= 1301642183 LIMIT 10000'
Apr  1 09:17:23 mhs-otrs2 OTRS-CGI-10[6456]: [Error][Kernel::System::Ticket::TicketSearch][Line:4768]: 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 IN (2) AND st.user_id IN (32) AND sq.group_id IN (1, 4,' at line 1, SQL: 'SELECT DISTINCT count(*) FROM ticket st, queue sq  WHERE sq.id = st.queue_id AND st.ticket_state_id IN (  )  AND st.ticket_lock_id IN (2) AND st.user_id IN (32) AND sq.group_id IN (1, 4, 5, 6)  AND st.ticket_state_id IN (6, 7, 8)  AND st.until_time <= 1301642183 LIMIT 10000'
Apr  1 09:17:23 mhs-otrs2 OTRS-CGI-10[6456]: [Error][Kernel::System::Ticket::TicketSearch][Line:4768]: 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.queue_id IN (6) AND sq.group_id IN (1, 4, 5, 6)  AND st.ticket_state_i' at line 1, SQL: 'SELECT DISTINCT count(*) FROM ticket st, queue sq  WHERE sq.id = st.queue_id AND st.ticket_state_id IN (  )  AND st.queue_id IN (6) AND sq.group_id IN (1, 4, 5, 6)  AND st.ticket_state_id IN (6, 7, 8)  AND st.until_time <= 1301642183 LIMIT 10000'
Apr  1 09:17:23 mhs-otrs2 OTRS-CGI-10[6456]: [Error][Kernel::System::Ticket::TicketSearch][Line:4768]: 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.responsible_user_id IN (32) AND sq.group_id IN (1, 4, 5, 6)  AND st.ti' at line 1, SQL: 'SELECT DISTINCT count(*) FROM ticket st, queue sq  WHERE sq.id = st.queue_id AND st.ticket_state_id IN (  )  AND st.responsible_user_id IN (32) AND sq.group_id IN (1, 4, 5, 6)  AND st.ticket_state_id IN (6, 7, 8)  AND st.until_time <= 1301642183 LIMIT 10000'
Apr  1 09:17:23 mhs-otrs2 OTRS-CGI-10[6456]: [Error][Kernel::System::Ticket::TicketSearch][Line:4768]: 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 sq.group_id IN (1, 4, 5, 6)  AND tw.user_id IN (32) AND st.ticket_state_i' at line 1, SQL: 'SELECT DISTINCT count(*) FROM ticket st, queue sq , ticket_watcher tw  WHERE sq.id = st.queue_id AND st.id = tw.ticket_id AND st.ticket_state_id IN (  )  AND sq.group_id IN (1, 4, 5, 6)  AND tw.user_id IN (32) AND st.ticket_state_id IN (6, 7, 8)  AND st.until_time <= 1301642183 LIMIT 10000'
Mal als Beispiel... Aber ich komm nicht so wirklich dahinter was es genau ist oder woher genau der Fehler kommt - bei den Tests ist mir der Fehler nicht untergekommen... :(

Jemand n Tip?

Danke vorab!
Peter
OTRS: 2.4.9
Ubuntu 10.04.2 - MySQL
uweuwe
Znuny newbie
Posts: 57
Joined: 30 Jul 2009, 10:03
Znuny Version: 2.4.2

Re: SQL-Syntax-Error im Syslog

Post by uweuwe »

Also ich bin mir nicht ganz sicher, aber sowie ich das sehe müsste der Fehler der SQL-Abfrage in der leeren Klammer liegen.

----> ... st.ticket_state_id IN ( )...

Diese ist soweißt ich das weiß nicht zulässig.

Jetzt müsstest du nur noch herausfinden, indem du dir die Ticket.pm anschaust, wieso diese leere Klammer bei dir ensteht. Die Zusammensetzung dieses SQL-Strings ist leider nicht trivial, könnte also etwas an Zeit erfordern ^^

Der Fehler entseht wie du dem Log entnehmen kannst immer an der gleichen Stelle: 4768
Dort findest du auch die Zusammensatzung des SQL-Strings!


Mfg

UWe
Produktiv: OTRS 2.4.7 auf Windows Server 2003
Testsystem: OTRS 3.0.6 auf Windows XP
Liby
Znuny newbie
Posts: 18
Joined: 17 Sep 2009, 13:19
Znuny Version: 3.0.7

Re: SQL-Syntax-Error im Syslog

Post by Liby »

Habe hier das selbe problem

---> ... st.ticket_state_id IN ( )...

gibt es eine Lösung ?
OTRS: 3.0.7
CentOS 5.5
MySQL 5.
Cachoo
Znuny newbie
Posts: 6
Joined: 11 Jun 2010, 16:32
Znuny Version: 3.2.3

Re: SQL-Syntax-Error im Syslog

Post by Cachoo »

hi,

ich habe das gleiche problem, gibt es hier schon eine Lösung ?

Code: Select all

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 '((art.a_subject = 'Delay') )(art.a_subject LIKE '%' ) )) ORDER BY st.create_time' at line 1, SQL: 'SELECT DISTINCT st.id, st.tn, st.create_time_unix FROM ticket st, queue sq , article_search art WHERE sq.id = st.queue_id AND st.id = art.ticket_id AND st.ticket_state_id IN (1, 4) AND st.queue_id IN (3) AND (((art.a_subject LIKE '%Notification' ) ((art.a_subject = 'Delay') )(art.a_subject LIKE '%' ) )) ORDER BY st.create_time_unix DESC LIMIT 4000'
greets cachoo
OTRS: 3.2.3
Ubuntu 10.04.4 LTS
MySQL 5.1.61
Post Reply