Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.12.23;
Скачать: [xml.tar.bz2];

Вниз

Проблемы с многопоточным доступом к таблице (Paradox, BDE, Delphi   Найти похожие ветки 

 
ki11er   (2003-12-01 15:27) [0]

Суть проблемы такая.
Нужно, чтобы из одного потока в таблицу добавлялись записи в то время как во втором потоке выполняется длинный запрос на чтение.
Однако при таком раскладе запрос на чтение возвращает одни и те же записи по несколько раз. В принципе, это не очень страшно, однако эти "фантомы" прячут под собой реальные записи, которые вообще не возвращаются.

Исходники теста (на дэлфях и на билдере) здесь:
http://www25.brinkster.com/alex99933/db_test.html

Спасибо.


 
Сергей К.   (2003-12-01 15:57) [1]

Как мне кажется Борланд, рекомендует для таких случаев использовать на каждый запрос отделный объект TSession.

Где то на сайте Борланда была статья на данную тему


 
ki11er   (2003-12-01 16:09) [2]

Все статьи на борланде (да и в других местах) уже прочитаны. Все сделано в соответствии с рекомендациями (взгляните на исходники). Однако глючит :(((


 
Dred2k   (2003-12-01 17:37) [3]

> ki11er (01.12.03 15:27)

Только что скомпилил и запустил твою прогу - все живет. На фоне записи добавляются, запрос возвращает все больше записей при каждом вызове. Поле Primary Key не отсортировано почему-то - из-за этого "фантомы", что ли? (значения 1, 2, 3 ... находятся не в самом начале, к примеру)


 
ki11er   (2003-12-01 17:58) [4]

Отсортировано по времени.
Если присмотреться повнимательнее - найдешь одинаковые записи. В них все будет одинаково, даже первичный ключ.
Особенно заметно на больших таблицах (создай таблицу записей на 300000 - 500000)



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.12.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
1-75250
Serg777
2003-12-10 13:44
2003.12.23
Вывод на матричный принтер


3-75115
Goida
2003-11-28 16:49
2003.12.23
Этот странный DataSet


6-75285
Irr
2003-09-23 19:54
2003.12.23
Что за глюк в локалке с Novell?


3-75078
_mandrake_
2003-12-01 10:26
2003.12.23
преобразование поля типа TIMESTAMP в таблицах в текстовом виде


1-75157
Sliften
2003-12-08 20:15
2003.12.23
Как поменять какое-нибудь значение у всех нужных компонентов прил





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский