Форум: "Базы";
Текущий архив: 2002.07.22;
Скачать: [xml.tar.bz2];
ВнизКак можно вылечить такую ошибку: Найти похожие ветки
← →
Aleksandr (2002-07-02 12:26) [0][Microsoft][ODBC SQL Server Driver]Connection is busy with results for another hstmt.
Замучался я с ней. Несколько потоков в программе обращаются к списку, который им возвращает экземпляры TQuery с запросами к разным таблицам. Периодически возникает вот такая ошибка. Все, что я понимаю, это то, что запрос не успевает выполниться... И все... :(
← →
Delirium (2002-07-02 12:59) [1]Хорошее лечение - разные сессии
← →
Aleksandr (2002-07-02 13:18) [2]Да? Вот я никогда ими не пользовался... Объект-список возвращает все Query с одним общим свойством TDataBase. Куда можно запихнуть создание сессий?
← →
Delirium (2002-07-02 14:21) [3]Я давно уже не работаю с BDE, но насколько я понимаю, надо в каждом потоке создавать экземпляр TSession, задавать уникальное имя для сессии, и указывать это имя в TQuery.
А вот что говорит о твоей ошибке справочник ODBC Error Messages: "The SQL Server ODBC driver allows only one active hstmt."
← →
Aleksandr (2002-07-02 14:47) [4]Мда... как все грустно... Я так въехал более-менее в то, что вроде как должен существовать один общий компонент TSession, который генерит уникальные имена сессий, только вот как автоматизировать процесс получения экземплярами разных TQuery эти имена... Что будет, если я сделаю
Query.SessionName:="Session_10" или
Query.SessionName:="Session_"+IntToStr(Random(500)+1)
а TSession такого имени истчо не имеет? Или она задает имена по требованию этих Query?
← →
Delirium (2002-07-02 15:00) [5]Есть ещё один путь - порождать в потоках экземпляры TDataBase
← →
Aleksandr (2002-07-02 15:30) [6]Вычитал я тут про Sessions. Только не могу понять, сам он уничтожает открытые сессии или это ручками надо делать?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.07.22;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c