Hi All!
Есть прога на Qt 3.3.3, в которой идёт работа с БД. Всё хорошо до тех пор, пока не надо выполнить одно SQL-выражение длинной порядка 1М. Структура выражения совершенно простая: туча INSERT в одну и ту же таблицу. Так вот, выполнение
QSqlQuery lQuery;
lQuery.exec( long_SQL_statement );
возвращает true, т.е. как бы всё хорошо, но в таблице присутствует только первая часть (соответствует ~ первым 300K запроса) вставляемых значений. Начал ходить отладчиком по недрам Qt, дошёл до места, где вызывается ODBC'шная SQLExecDirect(). Как и следовало ожидать - она тоже возвращает SQL_SUCCESS (попрошу заметить не SQL_SUCCESS_WITH_INFO). Пробовал зафигачить этот скрипт в Query Analizer - он отрабатывает хорошо... Значит где-то можно настроить параметр максимально допустимой длинны SQL-запроса? Или придётся бить запрос на несколько маленьких, что, конечно, не очень красиво?..