Имя: Пароль:
1C
1C 7.7
v7: Не срабатывает OLE подключение к базе 7.7 с сервера 8.3
0 1snik_d
 
01.12.20
11:28
Всем привет. Несколько лет все работало и вдруг отвалилось.
Дано: сервер 8.3 x64, запущен под отдельным пользователем USR1CV8, в регламентном задании цепляется по OLE к SQL базе 7.7 и забирает оттуда данные.
В какой-то момент времени перестало работать. Причем интересно, фактически пользователь авторизуется в базе 7.7 ( я его вижу в мониторе пользователей), висит секунд 20 и процесс завершается. 7.7 работает с секретным релизом.
Раньше база была под 2014 SQL, вынуждено перевели ее на SQL 2008 в режиме совместимости с 2000. После этого начались проблемы. Куда копать?
1 1snik_d
 
01.12.20
11:29
Забыл добавить. Если сервер 1С запускать под системной учетной записью, то все работает.
2 ДенисЧ
 
01.12.20
11:29
Залогинься на сервере под USR1CV8 и запусти 77. Посмотри сообщения.
3 johnnik
 
01.12.20
11:29
А в логах (и восьмерки, и семерки) что-нибудь вменяемое отражается?
4 1snik_d
 
01.12.20
11:30
(3) Ничего нет, в 8 задание запущено, задание завершено. Без ошибок.
5 1snik_d
 
01.12.20
11:30
HKEY_LOCAL_MACHINE>SYSTEM>CurrentControlSet>Control>Session Manager>SubSystems вот это проверено, там все хорошо. Делалось еще в момент, когда первый раз все настраивалось.
6 1snik_d
 
01.12.20
11:31
(2) Все работает, база открывается, ошибок нет.
7 ДенисЧ
 
01.12.20
11:42
Тогда просто в журнал пиши каждый чих. И смотри, на каком отваливается
8 1snik_d
 
01.12.20
11:49
(7) В отладчике отваливается при Initialize, возвращается 0 и все.
9 ДенисЧ
 
01.12.20
11:49
(8) Найди в моём (7) слово "отладчик"
10 1snik_d
 
01.12.20
11:50
С версией SQL как-то может быть связано, кроме нее ничего не менялось?
11 1snik_d
 
01.12.20
11:50
(9) А что писать в журнал тогда, не очень понял
12 1snik_d
 
01.12.20
12:13
Может можно как-то показать окно 1С 7.7, запущенное из регламентного задания?
13 ДенисЧ
 
01.12.20
12:15
А если не из регламентного?
Если по кнопке?
Да и то - регламентное выполняется на сервере. Кому ты там его покажешь?
14 trdm
 
01.12.20
12:16
Бывает. "Не открыт период в 1С" и все.
15 1snik_d
 
01.12.20
12:24
(14) Все открыто. Писал же выше, что если просто запустить базу из под USR1CV8 интерактивно, то все открывается и база работает.
16 1snik_d
 
01.12.20
12:25
(13) Аналогично, если просто обработку сделать и кнопкой запускать, такая же фигня. Разницы же нет, один фиг процесс из под серверного пользователя стартует.
17 1snik_d
 
01.12.20
12:26
Такое ощущение, что к SQL нет доступа у пользователя, когда запускается из регламента. Поэтому висит 20 секунд соединение и отваливается по таймауту
18 trdm
 
01.12.20
12:47
(17) вероятно.
19 trdm
 
01.12.20
14:21
Выяснил?
20 Cthulhu
 
01.12.20
14:44
а зачем солюшену7 "режим совместимости"???
21 Cthulhu
 
01.12.20
14:50
0) пере-создай юзера 77. а лучше - создай нового юзера и перепиши код под него. сработает?..
1) пропиши в 77 подробное логирование через ту же "ЗаписьЖурналаРегистрации" - от запуска до завершения - и смотри в каком месте у тебя рвется.
2) пропиши в 77 при запуске под определенным пользователем - выгрузку нужных данных в файл и завершение работы... а в 8-ке - запуск 77 под этим пользователем. ожидание появления файла с выгруженными из 77 данными, загрузку данных из этого файла и его удаление... просто интересно - так сработает?..
22 1snik_d
 
01.12.20
19:57
(19) Неа, сейчас буду ковырять, база занята была днем.
23 1snik_d
 
01.12.20
19:58
(20) Чтобы можно было убрать загрузку 100% при блокировках
24 DrZombi
 
гуру
01.12.20
20:29
(0) Зачем вам вообще 7.7? Если структура SQL таблиц у 7.7 примитивна, можно все что угодно запросами вытаскивать :)
25 1snik_d
 
01.12.20
21:06
(24) Потому что упр. учет в ней ведется и переносить его на 8 мы в ближайшем будущем не планируем. 8 хороша в бух и зарплате, там и работает.
26 Garykom
 
гуру
01.12.20
21:10
(0) сервере перезагрузи

это не шутка, просто глянь нет ли зависшего процесса 1с77
27 Garykom
 
гуру
01.12.20
21:11
имхо я бы глянул права на каталог 1c 77 где конфа лежит
28 trdm
 
01.12.20
21:38
(26) да это можно глянуть в диспетчере или в консоли.
29 1snik_d
 
01.12.20
21:52
(26) Уже и не раз. Я умом понимаю, что что-то с правами, ведь под системным пользователем работает все. Но если просто запускать интерактивно, то ведь база открывается из под этого USR1CV8 и нормально работает.
30 Cthulhu
 
01.12.20
21:56
(23): тю. а без режима совместимости это разве не работает?
31 ДедМорроз
 
01.12.20
21:57
Разрешение на изменение настроек приложения Com+ для 7.7
32 1snik_d
 
01.12.20
22:03
(30) Неа, только в режиме совместимости http://catalog.mista.ru/public/83504/
33 1snik_d
 
01.12.20
22:07
(31) Наверное речь о DCOM? Там все правильно, иначе бы совсем не работал запуск, с ошибкой про интерфейс
34 tesei
 
02.12.20
08:51
(0) Было, перенёс операции на другой комп, делал во внерабочее время.
35 1snik_d
 
02.12.20
09:00
В продолжение проблемы. Включил пользователя USR1CV8 в группу администраторов на компе, где сервер 1С работает и откуда фоновое запускается. OLE соединение заработало, но ох как неправильно этому пользователю быть администратором.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший