Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

BDE и General SQL Error [D5, MSSQL]


andsm ©   (2003-01-09 14:51:00) 

Работаю с MS SQL Server через BDE 5.01.
Создаю временную таблицу, наполняю данными, запускаю хранимую процедуру которая эти данные использует. Через некотрое время, не всегда одно и то же - зависит от данных - появляется окно с ошибкой - "General SQL Error" ,без каких-либо дополнительных данных. Ошибка возникает во время выполнения длительного запроса на удаление, причем до окончания не доходит - в конце этого запроса я поставил генерацию своей ошибки для проверки, она не срабатывает. Если данных мало - мало количество строк во временной таблице - то все работает нормально. Таймауты стоят очень большие, значительно больше времени когда срабатывает ошибка. В чем тут может быть дело?


Александр Спелицин   (2003-01-10 12:17:00) [1]

А каким именно образом Вы работаете через BDE:
App->BDE->SQL Link For MSSQL (dblib)->MSSQL или
App->BDE->SQL Link ODBC->ODBC->MSSQL?

Рекомендую перейте на второй способ, т.е на BDE+ODBC.
А также хотелось бы взглянуть на исъходные тексты.


Fiend   (2003-01-10 10:37:00) [2]

Совет то andsm:
а стоит ли в лог записывать инф о каждой удалённой записи? если там много данных(в табл.) то получается, шо вы просто из одной таблицы данные удаляете и переносите их в другую. Может просто записать без триггера, шо мол удалены записи соотв такому то условию, и вписать их количество.? Мне кажется так разумнее.

А на счёт БДЕ: мало у алиаса поставить таймаут, там надобно у драйвера проставить. Это надо посмотреть в БДЕ админе на закладке драйверов. найти MS SQL и увидите все нужные тайм ауты, один из них будет не такой как хотелось. поставьте его поболе.


andsm   (2003-01-10 09:17:00) [3]

Именно для хранения информации БД и используется. Так долго удаляется потому что на таблице висит триггер, который записывает все действия над таблицей в лог.


ЮЮ   (2003-01-10 03:50:00) [4]

>Ошибка возникает во время выполнения длительного запроса на удаление

Наверное, стоит использовать БД для хранения информации, а не "мусора", который, к тому же, ещё так долго удаляется :-)


andsm   (2003-01-09 15:05:00) [5]

Добавление - если запускать эту процедуру из Query Analyzer с теми же параметрами, предварительно создав и заполнив временную таблицу теми же данными - все хорошо работает.


andsm   (2003-01-09 15:02:00) [6]

Нельзя - у пользователей стоит именно BDE 5.01


passm   (2003-01-09 14:58:00) [7]

andsm (09.01.03 14:51)> Попробуй проделать это на BDE 5.00


Наверх

Титульная страница Поиск, карта сайта Написать письмо