Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Проблемы с ReconnectNative() (число прочтений - 3483 )
W-divin
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 8
Зарегистрирован: 07. Июля 2009
Проблемы с ReconnectNative()
01. Сентября 2009 :: 19:03
Печать  
суть такова: есть 3 сервера и 1 обработка перепроведения. на одном из серверов строка [highlight]глDataBase.ReconnectNative();[/highlight] валит 1С с ошибкой: [highlight]{Обработка.ВосстановлениеОнлайн.Форма.Модуль(26)}: Ошибка SQLDriverConnect : State 28000, native 18452, message [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'sa'. Reason: Not associated with a trusted SQL Server connection.[/highlight]
на двух остальных все работает без проблем.
В чем может проблема?
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Проблемы с ReconnectNative()
Ответ #1 - 02. Сентября 2009 :: 06:03
Печать  
скорее всего программа не успевает переконектиться к базе данных и валиться по timeout. Надо посмотреть ( параметры sql сервера) и может увеличить время соеденения с sql сервером.

Также есть и кардинальные способы :
1.Перейти на sql2005 там не нужен будет reconnect в принципе.
2.Менять идеологию программы и уйти от восстановления
последовательности.
Можно эти рекомендации не использовать, использовать одну
из них или обе сразу.
  
Наверх
 
IP записан
 
W-divin
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 8
Зарегистрирован: 07. Июля 2009
Re: Проблемы с ReconnectNative()
Ответ #2 - 02. Сентября 2009 :: 13:34
Печать  
Улыбнуло ))) но все равно спасибо )))
  
Наверх
 
IP записан
 
alexdd
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 347
Зарегистрирован: 25. Июня 2007
Re: Проблемы с ReconnectNative()
Ответ #3 - 02. Сентября 2009 :: 15:59
Печать  
Вообще-то ошибка 18452, значит, что скуль воспринимает попытку подключения как под виндовой авторизацией(18456 - это для SQL авторизации).
С system DSN, псевдонимами(Client Network Utility) ничего не перемучено?Улыбка
Вообще странно, ReconnectNative() коннектится с теми же параметрами, что и 1С. Но сама 1С я так понял коннектится у вас.. если найдете причину - отпишитесь - интересно Круглые глаза
  
Наверх
 
IP записан
 
W-divin
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 8
Зарегистрирован: 07. Июля 2009
Re: Проблемы с ReconnectNative()
Ответ #4 - 03. Сентября 2009 :: 06:28
Печать  
надыбал вот такое:
http://www.buh.ru/forum/thread.jsp?id=337052 но пока не получилось поменять оунера. при смене пишет что пользователь есть в пользователях базы, удалять из пользователей не дает - пишет что есть объекты этого пользователя, детач-аттач тоже почему-то не меняет владельца, хотя при аттаче указываю владельца sa? после аттача владелец остается прежний (который был до детача) (((
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Проблемы с ReconnectNative()
Ответ #5 - 03. Сентября 2009 :: 06:36
Печать  
W-divin писал(а) 03. Сентября 2009 :: 06:28:
надыбал вот такое:
http://www.buh.ru/forum/thread.jsp?id=337052 но пока не получилось поменять оунера. при смене пишет что пользователь есть в пользователях базы, удалять из пользователей не дает - пишет что есть объекты этого пользователя, детач-аттач тоже почему-то не меняет владельца, хотя при аттаче указываю владельца sa? после аттача владелец остается прежний (который был до детача) (((

Останови запусти sql сервер. После этого сможешь поменять владельца базы. Но по каким-то причинам владелец базы у тебя не sa и поэтому reconnect не проходит.
Исправь один раз и subj не должен возникать заново.

  
Наверх
 
IP записан
 
W-divin
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 8
Зарегистрирован: 07. Июля 2009
Re: Проблемы с ReconnectNative()
Ответ #6 - 03. Сентября 2009 :: 06:42
Печать  
владелец не sa потому что изначально аутентификация стояла виндузная. останавливал - перезапускал SQL и перед и во время и после детач-аттач - владелец все равно остается прежний (((
появилось желание ваабче скуль переустановить (((
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Проблемы с ReconnectNative()
Ответ #7 - 03. Сентября 2009 :: 06:50
Печать  
W-divin писал(а) 03. Сентября 2009 :: 06:42:
владелец не sa потому что изначально аутентификация стояла виндузная. останавливал - перезапускал SQL и перед и во время и после детач-аттач - владелец все равно остается прежний (((
появилось желание ваабче скуль переустановить (((

Если делать из EM в момент attach можно задать владельца базы.
только заходите в EM под sa
  
Наверх
 
IP записан
 
alexdd
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 347
Зарегистрирован: 25. Июня 2007
Re: Проблемы с ReconnectNative()
Ответ #8 - 03. Сентября 2009 :: 08:52
Печать  
а причем тут владелец? что, если владелец не sa, нельзя под sa подключится к БД?
  
Наверх
 
IP записан
 
W-divin
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 8
Зарегистрирован: 07. Июля 2009
Re: Проблемы с ReconnectNative()
Ответ #9 - 03. Сентября 2009 :: 09:02
Печать  
Z1 писал(а) 03. Сентября 2009 :: 06:50:
Если делать из EM в момент attach можно задать владельца базы.

это вкурсе (см пост 10:28)
Z1 писал(а) 03. Сентября 2009 :: 06:50:
только заходите в EM под sa

а вот это помогло - владелец сменился )))
и реконнект проходит нормально )))

спасибо всем кто откликнулся.
  
Наверх
 
IP записан
 
W-divin
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 8
Зарегистрирован: 07. Июля 2009
Re: Проблемы с ReconnectNative()
Ответ #10 - 03. Сентября 2009 :: 09:03
Печать  
alexdd писал(а) 03. Сентября 2009 :: 08:52:
а причем тут владелец? что, если владелец не sa, нельзя под sa подключится к БД?

можно, но reconnectnative() насколько я понял требует именно оунера
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Проблемы с ReconnectNative()
Ответ #11 - 03. Сентября 2009 :: 09:20
Печать  
W-divin писал(а) 03. Сентября 2009 :: 09:03:
ожно, но reconnectnative() насколько я понял требует именно оунера

уверен ?
это надо в текстах 1с++ смотреть.
может при recconect чистяться какие нибудь временные таблицы или
еще что либо и именно для этих действий и нужен sa.
  
Наверх
 
IP записан
 
W-divin
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 8
Зарегистрирован: 07. Июля 2009
Re: Проблемы с ReconnectNative()
Ответ #12 - 03. Сентября 2009 :: 09:32
Печать  
нарыл у аффтора компоненты:
DmitrO
1c++ power user

Вне Форума

ex developer

Сообщений: 568
г. Киров
Пол:
Re: ReconnectNative + терминнал: вылет (((
Ответ #4 - 25. Октябрь 2007 :: 11:39    Да, в принципе не важно какая. Просто бегло анализируя возможные причины описанной ошибки у меня возникло предположение.
Излагаю:
Этот метод как известно закрывает родное соединение 1С и открывает снова.
...
В результате при выполнении метода ReconnectNative в монопольном режиме, мы можем запросто получить такую ситуацию, что подключаясь снова сразу после завершения соединения, сервер еще не освободит процесс связанный с предыдущим соединением, а так так БД находится в режиме single user он не может создать второе соединеие к этой базе и возвращает описанную ошибку.
...
Также есть еще одна особенность драйвера. Сначала соединение всегда устанавливается к БД по-умолчанию, той которая прописана в свойствах пользователя MSSQL. ДАЖЕ в том случае если в строке подключения явно прописана база данных, просто в этом случае драйвер внутренне исполняет инструкцию USE.

На сколько я помню код который я писал в реализации метода ReconnectNative, там инструкция USE какраз исполняется явно (т.е. мной, а не в строке подключения), специально для того, чтобы дождаться освобождения процесса на сервере. При этом, конечно, подключение к БД по-умолчанию должно быть возможно сразу после разрыва соединения.
Т.о. второе решение проблемы - это прописать в БД по-умолчанию базу, которая всегда доступна, например master.

взято тут: http://www.1cpp.ru/forum/YaBB.pl?num=1193267910
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Проблемы с ReconnectNative()
Ответ #13 - 03. Сентября 2009 :: 09:51
Печать  
W-divin писал(а) 03. Сентября 2009 :: 09:03:
alexdd писал(а) 03. Сентября 2009 :: 08:52:
а причем тут владелец? что, если владелец не sa, нельзя под sa подключится к БД?

можно, но reconnectnative() насколько я понял требует именно оунера

да но может твой пользователь не имеет права
выполнить use бд

Вроде уже все понятно
или остался какой-то вопрос тогда лучше сформулировать его заново.
  
Наверх
 
IP записан
 
W-divin
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 8
Зарегистрирован: 07. Июля 2009
Re: Проблемы с ReconnectNative()
Ответ #14 - 03. Сентября 2009 :: 12:00
Печать  
проблема решилась сменой оунера для БД... больше вопросов не имееццо )))
исчо раз спасибо всем за участие )))
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать