Форум: "Базы";
Текущий архив: 2006.09.17;
Скачать: [xml.tar.bz2];
ВнизОшибка при выполнении нескольких запросов через dbExpress Найти похожие ветки
← →
Lezha (2006-07-09 14:37) [0]В общем, задача несложная. Беру из БД скрипт, загоняю его в квери: SQLQuery1.SQL := ...
Проблема в том, что один запрос выполняется нормально, но если их несколько, например:
DELETE FROM tbl1 WHERE Key = 1;
DELETE FROM tbl2 WHERE Key = 3;
В этом случае СУБД (Оракл) выдает ошибку. Текст не помню, но смысл в том, что она возникает из-за точки с запятой. Без ";" тоже ошибка. Если выполнять запрос напрямую -- все работает.
Может кто знает как обойти ошибку? Синтаксис разбирать не хочется, чтоб делать запросы. Пока есть идея запускать SQL+ и через командную строку передавать текст запроса, но это оч неудобно, а также при возникновении ошибки, надо отлавливать текст ее сообщения.
Тех. инфо: Дельфи 7.1, технология доступа: dbExpress, СУБД: Oracle (по-моему 9, но точно не знаю).
← →
Johnmen © (2006-07-09 16:11) [1]
> Может кто знает как обойти ошибку?
Очень просто. Не использовать для выполнения скрипта компонент, для этого не предназначенный.
← →
Lezha (2006-07-09 16:23) [2]Но тогда какой компонент для этого предназначен? Наскольно я понял, все компоненты Дельфи для работы с БД могут выполнять только один запрос за раз.
Но что же тогда делать :( Может есть сторонние компоненты?
← →
Johnmen © (2006-07-09 17:28) [3]Выполнять последовательно запросы из скрипта.
← →
Desdechado © (2006-07-09 19:36) [4]А что, разобрать на команды скрипт тяжело, что ли?
Особенно, если он не содержит создания метаданных, атолько манипулирование ими.
Тогда его вообще можно втолкать в безымянный блок BEGIN END и выполнить, как одну команду.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.09.17;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.087 c