Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Ошибка при открытии запроса / 16 сообщений из 16, страница 1 из 1
03.09.2017, 11:35:27
    #39514659
patrick1968
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии запроса
Добрый день. Возникла у меня одна интересная проблема. Написал я один модуль, проверил работает как надо, суть его в том что при создании формы открывается датасет (MSSQL хранимая процедура) применяю FireDAC, отображаю результат в гриде, при перемещении по этому датасету, выполняю другой запрос с параметрами из записи первого ну как-бы мастер-детайл, повторю всё работало правильно,потом спустя какое-то время (в проект вносил изменения, не относящиеся к данному модулю), но что-то произошло, наверное на уровне соединения , что при работе проекта и открытии этого модуля (в частности выполнении 2-го запроса) выходит ошибка Connection is busy with results for another command - суть сообщения понятна, но раньше почему то всё работало. Может кто имел дело с подобным. Заранее спасибо
...
Рейтинг: 0 / 0
03.09.2017, 11:41:21
    #39514661
Док
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии запроса
patrick1968,

в 17-й строке посмотри, в ней все дело
...
Рейтинг: 0 / 0
03.09.2017, 11:46:13
    #39514662
patrick1968
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии запроса
а можно подробнее
...
Рейтинг: 0 / 0
03.09.2017, 12:07:03
    #39514670
patrick1968
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии запроса
в 17 строке чего?
...
Рейтинг: 0 / 0
03.09.2017, 12:42:06
    #39514675
JayDi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии запроса
patrick1968,

Вырос объем данных и теперь данные фетчатся (fetch) частями (курсор после открытия остается открытым на сервере)? Я бы в эту сторону смотрел и настройки фаердака.
...
Рейтинг: 0 / 0
03.09.2017, 12:59:02
    #39514678
patrick1968
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии запроса
Да объем данных не изменился нисколько в том то весь и вопрос , а какие настройки могут повлиять?
...
Рейтинг: 0 / 0
03.09.2017, 13:57:54
    #39514695
JayDi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии запроса
Вот тут есть решение от Арефьев:
- либо ставить native client от mssql на машины пользователей;
- либо поменять настройки фаердака с фетчем;

Цитирую:
авторYou have 2 general options:
1) To install SQL Server Native Client, then FireDAC MSSQL driver will automatically
use this client. It supports MARS, which will resolve your issue.
2) You can disable TFDTable Live Data Window mode:
http://docwiki.embarcadero.com/RADStudio/Seattle/en/Browsing_Tables_(FireDAC)#Setting_the_LDW_Mode
eg, by setting FetchOptions.CursorKind to ckDefault. Then TFDTable will behave like
TFDQuery. Finally to resolve your issue set FetchOptions.Mode to fmAll.
...
Рейтинг: 0 / 0
03.09.2017, 14:08:41
    #39514698
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии запроса
"Connection is busy with results for another command" - это, скорее всего, MARS.

Версия SQL Server-a какая ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
03.09.2017, 14:15:13
    #39514700
patrick1968
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии запроса
MS SQL 2014 MARS пробовал ставить в true ошибка исчезает но она открывает 2 запрос с параметрами 1 записи 1 датасета и далее как бы я не переходил по записям 1 датасета - 2 датасет остается неизменным
...
Рейтинг: 0 / 0
03.09.2017, 15:44:41
    #39514710
patrick1968
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии запроса
Вообще как-то странно всё работать стало - решил немного переделать, убрал выполнение 2-го запроса при изменениях первого, а просто при лткрытии формы открываю 1 запрос, потом открываю 2 и тут та же самая ошибка, такое впечатление, что firedac больше одного запроса открыть не может
...
Рейтинг: 0 / 0
03.09.2017, 16:09:20
    #39514713
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии запроса
patrick1968такое впечатление, что firedac больше одного запроса открыть не может

Это врождённое ограничение MS SQL. Смирись или переходи на другую СУБД.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
03.09.2017, 17:53:45
    #39514718
patrick1968
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии запроса
Так почему-то в др. компонентах таких проблем нет
...
Рейтинг: 0 / 0
04.09.2017, 08:46:58
    #39514839
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии запроса
patrick1968> MARS пробовал ставить в true ошибка исчезает

Ч.Т.Д.

patrick1968> но она открывает 2 запрос с параметрами 1 записи
patrick1968> 1 датасета и далее как бы я не переходил по записям
patrick1968> 1 датасета - 2 датасет остается неизменным

Во-первых, открой для себя OnAfterScroll.
Во-вторых, покажи код.

patrick1968> Вообще как-то странно всё работать стало -
patrick1968> решил немного переделать ... такое впечатление,

Можешь опять обидеться, но повторю -
программировать (и тем более учиться)
методом тыка - не очень эффективно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
04.09.2017, 09:50:33
    #39514870
patrick1968
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии запроса
Добрый день.

Привожу код 2-го запроса при прохождении первого

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
procedure TMainDataModule.qBrandsAfterScroll(DataSet: TDataSet);
begin
  if MainDataModule.qModels.Active then MainDataModule.qModels.Close;

  MainDataModule.qModels.Prepared := true;
  MainDataModule.qModels.Params.ParamByName('@Option').Value := 0;
  MainDataModule.qModels.Params.ParamByName('@pBrandID').Value := MainDataModule.qBrands.FieldByName('BrandID').AsInteger;
  MainDataModule.qModels.Open;
end; 


именно, так я и делал, кстати проверил работу данного проекта, на другом сервере и что удивительно всё прекрасно работает с тем же самым проектом, получается где-то проблема в настройках сервера. А метод тыка, всё-таки иногда приводит к истине, не попробовав, не проверив, и не тыкнув, не поймешь процесс, вы, наверное, гуру во всех областях программирования и сразу делаете всё правильно.

Модератор: Пользуйтесь тегом (кнопкой) SRC для оформления кода, пожалуйста.
...
Рейтинг: 0 / 0
04.09.2017, 10:52:53
    #39514909
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии запроса
patrick1968не попробовав, не проверив, и не тыкнув, не поймешь процесс, вы, наверное, гуру во всех областях программирования и сразу делаете всё правильно.Нет. Мы вначале читаем документацию
...
Рейтинг: 0 / 0
04.09.2017, 10:58:22
    #39514913
patrick1968
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии запроса
я поступаю тоже также, а уж потом приступаю к практике, может только не уловил что-то в теории, поэтому на форум и обратился
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Ошибка при открытии запроса / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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