Переключение на Главную Страницу Страницы: 1 [2] 3  ОтправитьПечать
Очень популярная тема (более 25 ответов) 1С вываливается при использовании ReconnectNative( (число прочтений - 8625 )
unnamed
Full Member
***
Отсутствует


0x1c = 28

Сообщений: 166
Местоположение: Chelyabinsk
Зарегистрирован: 01. Ноября 2007
Пол: Мужской
Re: 1С вываливается при использовании ReconnectNat
Ответ #15 - 17. Апреля 2008 :: 06:42
Печать  
попробуй проверять активные курсоры при проведении....

Код
Выбрать все
Если Константа.SQLотладкаАвтоПроведения<>0 Тогда
	Запрос_К = СоздатьОбъект("ODBCRecordset");
	Если Запрос_К.Открыть("Exec ('DBCC ActiveCursors (@@spid)')") = 0 Тогда  // ошибка или нет открытых курсоров
	    Ошибка = Запрос_К.ПолучитьОписаниеОшибки();
	    Если ПустаяСтрока(Ошибка) = 0 Тогда
		  ткст="ODBCRecordset	error:"+РазделительСтрок+Запрос_К.ПолучитьОписаниеОшибки();
			ЗаписатьВЛог("@"+ткст);
		КонецЕсли;
	    Запрос_К.Закрыть();
	Иначе
	    СЗ_К=СоздатьОбъект("СписокЗначений");
	    СЗ_К=Запрос_К.ПолучитьЗначенияСЗ(2);
	    Запрос_К.Закрыть();
	    Если СЗ_К.РазмерСписка() > 2 Тогда
		  Сообщить(СЗ_К.РазмерСписка());
		  Для ии=1 По СЗ_К.РазмерСписка() Цикл
			Сообщить(СЗ_К.ПолучитьЗначение(ии));
				ЗаписатьВЛог("@очистка:"+СЗ_К.ПолучитьЗначение(ии));
		  КонецЦикла;
	    КонецЕсли;
	КонецЕсли;
КонецЕсли;
 



(c) irc.ru:6669, #1c
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: 1С вываливается при использовании ReconnectNat
Ответ #16 - 17. Апреля 2008 :: 06:48
Печать  
unnamed писал(а) 17. Апреля 2008 :: 06:42:
попробуй проверять активные курсоры при проведении....

Вообще, ReconnectNative сама анализирует список открытых курсоров и если он не пуст, выдает исключение.
Т.е. примерно такой код зашит внутри компоненты.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
unnamed
Full Member
***
Отсутствует


0x1c = 28

Сообщений: 166
Местоположение: Chelyabinsk
Зарегистрирован: 01. Ноября 2007
Пол: Мужской
Re: 1С вываливается при использовании ReconnectNat
Ответ #17 - 17. Апреля 2008 :: 07:01
Печать  
Ну у меня срабатывало на предыдущих версиях как-то, я только начинал на прямые запросы переходить и использование 1с++, в связи с этим тестировал насколько у нас глобальник и конфига готова к реконнекту. несколько мест поменял после чего "@" в отладке исчезли Улыбка.
+ если обычно reconnectnative выдавал exception, то при продолжении выполнения кода (видимо) после этого 1с довольно быстро просто схлопывалось, что мешало детекту проблемы.
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: 1С вываливается при использовании ReconnectNat
Ответ #18 - 17. Апреля 2008 :: 07:04
Печать  
ссылаясь на код реализации ReconnectNative,
могу предположить только, что во время реконнекта не удаеться повторно подключиться к БД (т.е. SQLExecDirect(...) = -1 ) и при этом native != 924
При этом выполнение метода прекращается, но процесс остается отключенным от БД!
При любой последующей попытке обращения к БД будет фатальная ошибка и вылет.
Остается вопрос: почему автор не видит AfxMessageBox(...) с описанием ошибки?
  

1&&2&&3
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: 1С вываливается при использовании ReconnectNat
Ответ #19 - 17. Апреля 2008 :: 07:10
Печать  
А вот вроде было:

dimm73 писал(а) 16. Апреля 2008 :: 09:10:
пробовал на 2.5.0.5 при отключенном формЭксе, эфект тот же.

При наблюдении за процессом пару раз видел , что во время реконекта выводилось сообщение "Ошибка подлючения к ИБ() - в скобках отсчет в секундах - не более 5 сек",
в момент вылета производился реконнект но сообщения об ошибке не было
Плачущий

  

De quelle planète es-tu?
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: 1С вываливается при использовании ReconnectNat
Ответ #20 - 17. Апреля 2008 :: 07:26
Печать  
нет.
это Цитата:
"Ошибка подлючения к ИБ() - в скобках отсчет в секундах
бывает в строке состояния и как раз при native == 924
  

1&&2&&3
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: 1С вываливается при использовании ReconnectNat
Ответ #21 - 17. Апреля 2008 :: 07:33
Печать  
2 dimm73
В консультации с Dmitro выяснил очень важный момент:
У пользователя, под которым 1с подключается к серверу, БД по-умолчанию должна быть БД которая никогда не бываеть в sungle user. Например master.
Если БД по-умолчанию - есть твоя БД 1С, то при реконнекте в монопольном режиме проблемы гарантированы.
  

1&&2&&3
Наверх
 
IP записан
 
dimm73
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 414
Зарегистрирован: 03. Июля 2006
Пол: Мужской
Re: 1С вываливается при использовании ReconnectNat
Ответ #22 - 17. Апреля 2008 :: 07:38
Печать  
trad писал(а) 17. Апреля 2008 :: 07:33:
У пользователя, под которым 1с подключается к серверу, БД по-умолчанию должна быть БД которая никогда не бываеть в sungle user. Например master.
Если БД по-умолчанию - есть твоя БД 1С, то при реконнекте в монопольном режиме проблемы гарантированы.


не очень понял "БД по-умолчанию" - как это узнать?
база на сервере называется proba2 , она далеко не единственная есть еще штук 5 подобных

подключение под учеткой "sa"
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: 1С вываливается при использовании ReconnectNat
Ответ #23 - 17. Апреля 2008 :: 07:45
Печать  
trad писал(а) 17. Апреля 2008 :: 07:26:
как раз при native == 924

OFF.
Дим, где взять описание native error codes для драйвера MSSQL, не подскажешь?
  

De quelle planète es-tu?
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: 1С вываливается при использовании ReconnectNat
Ответ #24 - 17. Апреля 2008 :: 07:46
Печать  
dimm73 писал(а) 17. Апреля 2008 :: 07:38:
не очень понял "БД по-умолчанию" - как это узнать?

В Enterprise manager в разделе security - logins для конкретной учетной записи - properties
  

De quelle planète es-tu?
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: 1С вываливается при использовании ReconnectNat
Ответ #25 - 17. Апреля 2008 :: 07:53
Печать  
kms писал(а) 17. Апреля 2008 :: 07:46:
dimm73 писал(а) 17. Апреля 2008 :: 07:38:
не очень понял "БД по-умолчанию" - как это узнать?

В Enterprise manager в разделе security - logins для конкретной учетной записи - properties

оно самое
  

1&&2&&3
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: 1С вываливается при использовании ReconnectNat
Ответ #26 - 17. Апреля 2008 :: 07:54
Печать  
Поймал - при неправильном указании default database Улыбка
Но полгода перепровелось с реконнектами скважностью в 5.
  

failed.PNG ( 7 KB | Загрузки )
failed.PNG

De quelle planète es-tu?
Наверх
 
IP записан
 
dimm73
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 414
Зарегистрирован: 03. Июля 2006
Пол: Мужской
Re: 1С вываливается при использовании ReconnectNat
Ответ #27 - 17. Апреля 2008 :: 08:00
Печать  
kms

дефолтная база - master

И что?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: 1С вываливается при использовании ReconnectNat
Ответ #28 - 17. Апреля 2008 :: 08:12
Печать  
dimm73 писал(а) 17. Апреля 2008 :: 08:00:
дефолтная база - master

И что?

хм. значит это не твой случай  Печаль
  

1&&2&&3
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: 1С вываливается при использовании ReconnectNat
Ответ #29 - 17. Апреля 2008 :: 08:12
Печать  
dimm73 писал(а) 17. Апреля 2008 :: 08:00:
дефолтная база - master

ОК
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 3 
ОтправитьПечать