Имя: Пароль:
1C
Админ
Подключение занято до получения результатов для другого hstmt
0 Nata73
 
21.06.10
20:08
Подробно ошибка выглядит так:
SQL State: HY000
Native:0
Message:[Microsoft][ODBC SQL Server]Подключение занято до получения результатов для другого hstmt.

Ошибка вылетает в следствии выполнении прямого запроса к БД (MS SQL SERVER 2000). Сам запрос работает как надо, но иногда выскакивает такая ошибка и 1с закрывается окончательно... Запрос написан через rainbow.
В чем дело, я так и не поняла:(

p.s. в АСУП работает около 80 пользователей, 1с v7.7 SQL
1 Nata73
 
21.06.10
20:09
Кто встречался с данной проблемой, подскажите пожалуйсто, в чем может быть причина? Спасибо...
2 Эмбеддер
 
21.06.10
20:13
Было такое на прямых запросах. Особенно часто когда используется запрос.подготовить. Не в обработке ли ожидания выполняется запрос?
3 ДенисЧ
 
21.06.10
20:48
Простой пример, как такого добиться:

стрЗАпрос = "SELECT TOP 10 id, code from sc33";
рс = райн.ВыполнитьЗапрос(стрЗапрос); //или как там оно называется, не помню
спр = СоздатьОбъект("Справочник.НОменклатура");//это sc33
пока рс.EOF() = 0 Цикл
 код = рс.//тут как-то получается поле Code из запроса, опять же не помню
 спр.НАйтиПоКоду(Код); //тут отвалимся
КонецЦикла;
4 Любитель XML
 
21.06.10
21:02
(3) почему такое происходит? Неверный формат в поле код?
5 ДенисЧ
 
21.06.10
21:08
(4) нет. радуга использует то же соединение, что и 1с. Поэтому конфликты возникают. Надо рекордсет закрывать до обращения к базе.
6 Любитель XML
 
21.06.10
21:08
(5) жесть... хотя пофиг, я её не юзаю
7 Любитель XML
 
21.06.10
21:10
+(6) я вообще всегда результат запроса обрабатываю в ТЗ
8 Любитель XML
 
21.06.10
21:11
Хотя нет... вру ))))
9 ДенисЧ
 
21.06.10
21:13
(7) радуга не умеет выгружать в np? поэтому рачками всё :-)
10 ДенисЧ
 
21.06.10
21:13
*ручками, блин...
11 Любитель XML
 
21.06.10
21:16
(9) хз умеет или нет )))) Если нет, то в сад её :)
12 ДенисЧ
 
21.06.10
21:17
(11) Дык она там давно уже... 1с++ на её базе написали.
13 Salimbek
 
21.06.10
22:21
(0) На сколько я помню - надо в начале твоего суперзапроса писать SET NOCOUNT ON
например тут: http://www.1cpp.ru/forum/YaBB.pl?num=1234869674/5#5
14 Дык ё
 
21.06.10
23:49
(0) двух локальных курсоров в одном подключении быть не может. один твой, второй - штатный. выгружай выборку в таблицу значений и закрывай курсор до обращения к штатным методам, а лучше - переходи на 1С++
15 Дык ё
 
21.06.10
23:53
+(14) штатный локальный курсор может быть открыт до твоего запроса
16 Nata73
 
24.06.10
22:01
Всем спасибо за помощь! Проблема решена!:)
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn