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


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