LINUX.ORG.RU

ODBC и длинна SQL-выражения


0

0

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-запроса? Или придётся бить запрос на несколько маленьких, что, конечно, не очень красиво?..

я склонен считать что длина sql-выражения в 1М - прямое доказательство кривизны рук программера.

cvv ★★★★★
()
Ответ на: комментарий от ebersen

> А что делать если есть большой объём данных, которые надо залить в базу (гапример из файла)?

Использовать placeholders.

amm
()
Ответ на: комментарий от cvv

согласен: "работа" и "заливка" - немного разные вещи

Pi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.