Переключение на Главную Страницу Страницы: 1 [2]  ОтправитьПечать
Очень популярная тема (более 25 ответов) Прямой запрос. 1С не может обработать большой результат запроса. (число прочтений - 5056 )
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Прямой запрос. 1С не может обработать большой результат запроса.
Ответ #15 - 04. Октября 2010 :: 07:19
Печать  
А нафига inner join справочника Сотрудники ?

ЗЫ: вот так работает ?

Код
Выбрать все
ЗапросКЖурналуЗарплата = СоздатьОбъект("ODBCRecordset");
ТекстЗапросаДляЖЗ = "
	|SELECT
	|  ЖР.FF202 AS [ОсновнойЭлемент $Справочник.Сотрудники]
	|FROM
	|  $ЖурналРасчетов.Зарплата AS ЖР (nolock)
	|";
		ЗапросКЖурналуЗарплата.Открыть(ТекстЗапросаДляЖЗ);
ЗапросКЖурналуЗарплата.Вначало();
Пока ЗапросКЖурналуЗарплата.Конец() = 0 Цикл
  Сообщить(ЗапросКЖурналуЗарплата.ПолучитьЗначение("ОсновнойЭлемент "));
 ЗапросКЖурналуЗарплата.След();
КонецЦикла; 


  
Наверх
 
IP записан
 
ajax
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 27
Зарегистрирован: 28. Ноября 2008
Re: Прямой запрос. 1С не может обработать большой результат запроса.
Ответ #16 - 04. Октября 2010 :: 07:25
Печать  
Таже самая ошибка Печаль
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Прямой запрос. 1С не может обработать большой результат запроса.
Ответ #17 - 04. Октября 2010 :: 07:28
Печать  
1cpp какой версии ?
  
Наверх
 
IP записан
 
ajax
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 27
Зарегистрирован: 28. Ноября 2008
Re: Прямой запрос. 1С не может обработать большой результат запроса.
Ответ #18 - 04. Октября 2010 :: 07:30
Печать  
3.2.2.0
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Прямой запрос. 1С не может обработать большой результат запроса.
Ответ #19 - 04. Октября 2010 :: 07:32
Печать  
почитай в гугле про
"Подключение занято до получения результатов для другого hstmt"
там есть ответ.
Например, тут
http://www.forum.mista.ru/topic.php?id=489058
  
Наверх
 
IP записан
 
ajax
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 27
Зарегистрирован: 28. Ноября 2008
Re: Прямой запрос. 1С не может обработать большой результат запроса.
Ответ #20 - 04. Октября 2010 :: 07:50
Печать  
Перезапустил sql
Теперь пишет
"Колонка с именем (ОсновнойЭлемент) отсутствует в выборке"
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Прямой запрос. 1С не может обработать большой результат запроса.
Ответ #21 - 04. Октября 2010 :: 08:28
Печать  
ajax писал(а) 04. Октября 2010 :: 06:28:
Выдает ошибку
"Подключение занято до получения результатов для другого hstmt"


ЗапросКЖурналуЗарплата.Открыть(ТекстЗапроса, 1);

не?
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
KonstSV
Junior Member
**
Отсутствует



Сообщений: 39
Местоположение: Москва
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Прямой запрос. 1С не может обработать большой результат запроса.
Ответ #22 - 04. Октября 2010 :: 08:42
Печать  
К решению этой проблемы необходимо подойти с другой стороны.

НЕ ДОЛЖНО быть такого, чтобы SQL-ный запрос возвращал такое большое количество строк.

Надо либо разбивать этот запрос на несколько, либо на сервере выполнять основные вычисления
и возвращать уже практически готовые данные.
  
Наверх
 
IP записан
 
ajax
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 27
Зарегистрирован: 28. Ноября 2008
Re: Прямой запрос. 1С не может обработать большой результат запроса.
Ответ #23 - 04. Октября 2010 :: 08:46
Печать  
Неа, так выдает эту ошибку.
До этого сообщение об ошибке вылечилось перезапуском SQL сервера
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Прямой запрос. 1С не может обработать большой результат запроса.
Ответ #24 - 04. Октября 2010 :: 08:49
Печать  
KonstSV писал(а) 04. Октября 2010 :: 08:42:
К решению этой проблемы необходимо подойти с другой стороны.

НЕ ДОЛЖНО быть такого, чтобы SQL-ный запрос возвращал такое большое количество строк.

Надо либо разбивать этот запрос на несколько, либо на сервере выполнять основные вычисления
и возвращать уже практически готовые данные.

так это уже было сказано в #8
  
Наверх
 
IP записан
 
ajax
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 27
Зарегистрирован: 28. Ноября 2008
Re: Прямой запрос. 1С не может обработать большой результат запроса.
Ответ #25 - 04. Октября 2010 :: 08:58
Печать  
Согласен, но все же как работать с открытой выборкой?
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Прямой запрос. 1С не может обработать большой результат запроса.
Ответ #26 - 04. Октября 2010 :: 09:01
Печать  
ajax писал(а) 04. Октября 2010 :: 08:58:
Согласен, но все же как работать с открытой выборкой?


А чего, как в #15 не работает ?
Попробуй не явно указывать имена полей:
Сообщить(ЗапросКЖурналуЗарплата.ПолучитьЗначение(1));

  
Наверх
 
IP записан
 
KonstSV
Junior Member
**
Отсутствует



Сообщений: 39
Местоположение: Москва
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Прямой запрос. 1С не может обработать большой результат запроса.
Ответ #27 - 04. Октября 2010 :: 10:01
Печать  
Цитата:
так это уже было сказано в #8


Конечно, Z1, вы говорили о том же, но как показало дальнейшее обсуждение, ваши слова услышаны не были.
Поэтому и появилась моя реплика.

Конечно, можно освоить предложенный в #7 способ обхода выборки и это будет, в любом случае, полезный опыт.

Но хочется ещё раз подчеркнуть, что правильный путь решения этой проблемы - "копать" в сторону уменьшения
размера выборки, получаемой с SQL-сервера.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 
ОтправитьПечать