powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / BDE перечитывает запрос ?
6 сообщений из 6, страница 1 из 1
BDE перечитывает запрос ?
    #32026016
Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Заранее прошу прощения если мой вопрос глупый или ответ на него общеизвестен.
Я открываю в Delphi (через BDE) два запроса к одной и той же таблице содержащей около 500000 записей. (Буквально - select * from MyTable)
Первый запрос открывается быстро (меньше секунды), но когда я открываю второй запрос (такой же) к этой таблице это длится несколько минут. Если перед выполнением второго запроса закрыть первый то все нормально. В чем причина? Я встречал нечто подобное с Interbase, там были проблемы с тем что BDE перечитывает запроc при выполнении Commit т.к. IB перед Commit'ом закрывает все курсоры. Здесь что-то подобное?
...
Рейтинг: 0 / 0
BDE перечитывает запрос ?
    #32026022
Dankov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Перед открытием второго запроса BDE зафетчивает все недофетченные записи первого, иначе по-другому не может открыть другой запрос в той же сессии. Раньше до версии 5, BDE просто давало ошибку в таком случае.
Вопрос в другом - зачем запрашивать столько записей, если они тебе не нужны? Так не делают.
...
Рейтинг: 0 / 0
BDE перечитывает запрос ?
    #32026029
Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну конечно это я привел просто пример доведенный до абсурда... чтобы не запутывать вопрос. На самом деле был запрос с условием и сортировкой, в котором мне нужно были только первые записи. (Отфильтровать "снизу" было трудно) В IB это катило (там можно открыть несколько запросов). Здесь я так понимаю нужно просто использовать SELECT TOP .. для того чтобы отобрать сколько мне нужно.
Правильно ли я понимаю, что MS SQL фактически позволяет в одном подключении к БД иметь только один открытый запрос ? Когда я сделал запросам Unidirectional мне BDE прямо так и сказало - "connection used by another statement".
...
Рейтинг: 0 / 0
BDE перечитывает запрос ?
    #32026031
ZIPpo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В M$ SQL7 - да )
Но че-то есть слухи что в 2000 можно.
...
Рейтинг: 0 / 0
BDE перечитывает запрос ?
    #32026036
Erika
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может, дело не в MS SQL, а в BDE? По-моему через ADO с одного коннекта открывается столько запросов, сколько пропишешь. Или я чего-то не понимаю (с BDE не приходилось работать), и "подключение" BDE и connection ADO - разные вещи?
...
Рейтинг: 0 / 0
BDE перечитывает запрос ?
    #32026040
Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот это и интересно... в принципе может быть и BDE. В общем-то ADO и BDE - фактически две вещи которые делают одно и то же (служат "посредником" между прикладной программой и MS-SQL)
Кстати я пробовал подключаться через ODBC -> BDE - результат такой же. Но с другими серверами BDE таких вещей не делает...
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / BDE перечитывает запрос ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]