2013-02-22 9 views
11

Sto eseguendo una query SQL tramite jcc per eseguire un report. Quando ho aperto il file di log degli errori per il programma ed ho esaminato la query SQL, tutto sembra andare bene (non ci sono parentesi o virgole mancanti, virgole, ecc. E la sintassi è buona) tuttavia quando eseguo mi viene visualizzato questo errore:Che cosa può rappresentare SQL CODE -104 (errore)?

[Report.execute()] DB2 SQL Errore: SQLCODE = -104, SQLSTATE = 42601, sqlerrmc = ,; mangiato (1,2,3,10,1) ;, DRIVER = 4.12.55

Quando ho cercato su SQLCODE ho scoperto che significa che c'è un simbolo illegale nella query. Cosa posso cercare per trovare questo simbolo illegale?

Questa è la query

enter image description here

Ci scusiamo per il carattere molto piccolo, ma se si esegue lo zoom al 200% o giù di lì si può vedere la query meglio.

Grazie mille :)

+0

Non avrebbe senso pubblicare la query? Qualcuno potrebbe essere in grado di individuare il simbolo per te. – Bridge

+0

è un po 'lungo per questo non l'ho postato! Bene lasciami includere quindi – Bernice

+0

Ho aggiunto la query .. – Bernice

risposta

12

Hai una virgola (dove non dovrebbe) alla fine di questa linea:

AND Tick.STATE IN (1,2,3,10,1), 

La seguente riga ha anche lo stesso problema.

+1

oh! scusa sono ancora nuovo a questo! Pensavo che non fosse male! Grazie per l'aiuto! – Bernice

+0

Più semplice impossibile! Grazie! – Israelm

2

Generalmente questo codice di errore SQL indica di aver inserito alcuni caratteri extra, come '' o '(' o ')' o tipo di. Il controllo dell'interrogazione completa nella traccia aiuterà le persone che scrivono query Sql all'interno di un programma Java o simili, poiché sono occorse circa 2 ore per capire che ho un extra ")" nella mia query.

0

Nel mio caso problema era diverso volevo joing due tabelle e quindi copiare i dati da Table2 a TABLE1 rispettiva colonna mia domanda (DB2) aggiornamento Table1 T1, T2 Table2 set T1.DEST_COLMN = T2.SRC_COLMN dove T1.ID = T2.ID

corretto aggiornamento Query Table1 T1 set T1.DEST_COLMN = (selezionare SRC_COLMN da Table2 T2 dove T1.ID = T2.ID)

0

sono caduto questo errore perché uno dei miei parametri del generatore di query era nullo e query era qualcosa come ".. OrderType = 'CM' and null".

Problemi correlati