2013-02-22 3 views
11

Я выполняю SQL-запрос через jcc для запуска отчета. Когда я открывал файл журнала ошибок для программы и изучал SQL-запрос, все кажется прекрасным (нет лишних или отсутствующих скобок, запятых и т. Д., И синтаксис хорош), однако при выполнении я получаю эту ошибку:Что может представлять SQL CODE -104 (ошибка)?

[Report.execute()] DB2 Ошибка SQL: SQLCODE = -104, SQLSTATE = 42601, SQLERRMC = ,; АТЕ В (1,2,3,10,1) ; ВОДИТЕЛЯ = 4.12.55

Когда я исследовал SQLCODE, я узнал, что это означает, что в запросе есть незаконный символ. Что я могу найти, чтобы найти этот незаконный символ?

Это запрос

enter image description here

Извините за крошечным шрифтом, но если увеличить на 200% или так что вы можете увидеть запрос лучше.

Большое спасибо :)

+0

Разве не было бы целесообразно размещать запрос? Кто-то может заметить этот символ. – Bridge

+0

Немного долго, поэтому я не опубликовал его! Хорошо, позвольте мне включить его затем – Bernice

+0

Я добавил запрос .. – Bernice

ответ

12

У вас есть запятая (где вы не должны) в конце строки:

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

Следующая строка также имеет те же проблемы.

+1

oh! извините, я до сих пор не знаком с этим! Я думал, что это не плохо! Спасибо за вашу помощь! – Bernice

+0

Упрощение невозможно !, спасибо! – Israelm

2

Обычно этот код ошибки SQL означает, что вы вставили дополнительные символы, такие как «» или „(“ или „)“ или рода. Проверка полного запроса в трассировке поможет людям, которые пишут запросы Sql внутри Java-программы или тому подобное, поскольку мне потребовалось около 2 часов, чтобы выяснить, что у меня есть дополнительный «)» в моем запросе.

0

В моем случае проблема была немного другая, я хотел joing две таблицы, а затем скопировать данные из Table2 в table1 соответствующий столбец My Query (DB2) обновление Table1 T1, T2 Table2 набор T1.DEST_COLMN = T2.SRC_COLMN где T1.ID = T2.ID

Правильный запрос обновление Таблица1 Т1 множество T1.DEST_COLMN = (выберите SRC_COLMN из Table2 T2 , где T1.ID = T2.ID)

0

Я разбитого эту ошибку, потому что одна параметров моего запроса построили null и запрос было что-то вроде «.. OrderType =« CM »и null».