Имя: Пароль:
1C
 
На клиенте первое в сеансе соединение через ADODB к Provider=SQLOLEDB выполняется 6 секунд
0 TormozIT
 
гуру
05.08.21
08:39
При первом в сеансе на клиенте выполнении ADODB.Connection.Open("Provider=SQLOLEDB") возникает ожидание 6 секунд.

    Соединение = Новый COMОбъект("ADODB.Connection");
    СтрокаСоединения = "Provider=SQLOLEDB; Data Source=""cortex""; Initial Catalog=""KA1""; User Id=""""; Password="""";Trusted_Connection=Yes";
    Соединение.Open(СтрокаСоединения);

Видимо подгружаются какие то библиотеки и что то еще неведомое происходит. Как то можно это ускорить?

Асинхронную инициализацию уже сделал, но она все равно только через 6 секунд сработает и непонятно, как проверить что она завершилась.
    Соединение.Open(СтрокаСоединения,,, 16);
1 ДенисЧ
 
05.08.21
08:42
Делай при старте в фоновом и закрывай.
Следующие будут быстрее )))
2 TormozIT
 
гуру
05.08.21
08:49
(1) Загрузка библиотек SQLOLEDB в серверный процесс не повлияет на клиентский процесс, где их по-прежнему не появится.
3 ДенисЧ
 
05.08.21
08:50
(2) А кто говорил про серверный? В приначалеработы на клиенте запусти в фоне, пусть оно молча оттарабанит
4 TormozIT
 
гуру
05.08.21
08:50
В файловой базе проблема тоже есть.
5 TormozIT
 
гуру
05.08.21
08:52
(3) Вроде в (0) написал про асинхронную инициализацию - она все равно завершится только через 6 секунд. А пользователь может раньше вызвать функцию.
6 TormozIT
 
гуру
05.08.21
08:53
Ну и проверить, завершилась ли асинхронная инициализация соединения, я не нашел способа. Научите.
7 ДенисЧ
 
05.08.21
08:57
(6) Проверить завершение можно только циклом. Ибо 1с не умеет адошные события.
(5) У тебя пользователь за 6 секунд успеет дождаться открытия всех окон, открыть нужную обработку и нажать кнопку? О_о
8 TormozIT
 
гуру
05.08.21
08:59
(7) Каким циклом?
9 ДенисЧ
 
05.08.21
09:00
(8) Пока НЕ подключениеЗавершено Цикл
нужно смотреть свойства коннекшна, у него было вроде state
10 acht
 
05.08.21
09:04
(0) Версия Windows какая, не старая?
Там у microsoft были проблемы, в районе 1803. Починили или нет - не знаю.
11 Garykom
 
гуру
05.08.21
09:04
(0) Микросервис на Go постоянно держит пул соединений с sql
1С по http обращается на микросервис и никаких задержек
ADO и ВИД нафик не нужны
12 acht
 
05.08.21
09:04
(11) > Микросервис на Go
И животноводство!
13 Garykom
 
гуру
05.08.21
09:05
(12) разводить и готовить уметь полезно
14 acht
 
05.08.21
09:08
(0) И настройки сервера проверь. Вдруг оно по named pipes вообще туда долбится.
15 TormozIT
 
гуру
05.08.21
09:16
(14) Сервер может быть любой. Нужно универсальное решение.
16 TormozIT
 
гуру
05.08.21
09:17
(9) Да. Пришлось сделать глобальную переменную для хранения соединения и проверять State = 1.
17 Дык ё
 
05.08.21
09:25
(0) у меня было когда-то. побеждалось переходом на другой провайдер - MSOLEDBSQL или SQLNCLI11, не помню
18 Garykom
 
гуру
05.08.21
09:32
(15) так микросервис как раз универсальное
1С всегда единым образом по http ))
19 Garykom
 
гуру
05.08.21
09:32
(18)+ и пофиг сервер, клиент, винда, линукс, макось, андроид, ios
20 acht
 
05.08.21
09:37
(16) А полузабытый метод ДобавитьОбработчик, не?
21 Garykom
 
гуру
05.08.21
09:38
(20) угу в веб-клиенте ))
22 acht
 
05.08.21
09:47
(21) Да, да. В том же самом, в котором ADODB.Connection
23 Garykom
 
гуру
05.08.21
09:56
(22) под андроидом?
24 acht
 
05.08.21
09:58
(23) Конечно. Который в виртуалбоксе на линуксе, который под HyperV на виндовом сервере.
25 Garykom
 
гуру
05.08.21
09:59
(24) это уже стеб пошел

мое же решение с микросервисом универсально и работает почти везде
а это ADO как и ВИД давно устарели и ограничены виндой
да и там хрен настроишь если права зарезаны
26 TormozIT
 
гуру
05.08.21
12:07
Оказалось, что TCP протокол на сервере SQL отключен, а он первым пробуется провайдером. И вот 6 секунд при первом соединении идут на попробовать TCP протокол. Явное указание протокола ("np:cortex") устранило задержку. Всем спасибо за подсказки.
27 Garykom
 
гуру
05.08.21
12:13
(26) и вот таких граблей через ADO дофига и больше
когда понадобится свое решение 1С тиражировать на кучу других разномастных серверов будет больно
особенно когда админы того
28 ДенисЧ
 
05.08.21
12:14
(27) А если не придётся - будет мучительно больно, что потратил кучу времени на НЕХ, которая не понадобился.
29 acht
 
05.08.21
12:17
(28) Зато можно будет вырываться с этой НЁХ в темы и пропагандировать её. Сплошной профит.
30 Garykom
 
гуру
05.08.21
12:17
(28) в том то и дело что НЁХ это ADO
а с Go все легко и просто реализуется
31 Garykom
 
гуру
05.08.21
12:18
(29) "Новый COMОбъект" имхо в будущем аукнется
32 ДенисЧ
 
05.08.21
12:23
(30) Как раз го в данном случае - НЁХ. Не надо притаскивать КПВТ, когда тебе комара прихлопнуть надо.
33 acht
 
05.08.21
12:24
(31) Да, да! Мы пожалеем об этом и всетакое.
34 Garykom
 
гуру
05.08.21
12:28
(32) зато я могу прихлопнуть в любой комнате и даже на природе и даже в еще не построенных домах
ваша же хлопушка работает только в зданиях одной системы и только от 220В
35 acht
 
05.08.21
12:29
(34) Поразительно! А ушами шевелить можешь?
36 ДенисЧ
 
05.08.21
12:31
(34) Не сможешь. В рамках сети конторы, в которой я работаю - админы скорее согласуют настройку адо где надо, чем запуск какого-то левого сервиса, собранного неизвестно каким компилятором неизвестно из каких источников.
37 Garykom
 
гуру
05.08.21
12:34
(36) а если админы не могут настроить адо в принципе?

и почему левым и из левых? компилятор официальный, исходники есть они свои
38 Garykom
 
гуру
05.08.21
12:35
(37)+ и да обычно у 1С достаточно прав чтобы запустить бинарник
поэтому админы идут лесом
39 Garykom
 
гуру
05.08.21
12:35
(38)+ если прав недостаточно - каким образом ВК в типовых пашут?
40 ДенисЧ
 
05.08.21
12:36
(37) "если админы не могут настроить адо в принципе"
Тогда такие админы идут не то что лесом, а тем путём, что указала Фаина Раневская пионерам.
41 ДенисЧ
 
05.08.21
12:37
(39) ВК и левая служба, написанная неизвестно кем - разные вещи.
Или ты предлагаешь админам ещё и го изучить, чтобы проверить количество закладок, которые ты в исходник напихал?
42 Garykom
 
гуру
05.08.21
13:03
(41) а ВК с ИС как админы изучают?
43 Garykom
 
гуру
05.08.21
13:04
(40) ты уже умеешь адо на фреше и линуксе/макоси/андроиде и т.д. настраивать?
44 ДенисЧ
 
05.08.21
13:06
(43) Я похож на извращенца? Мне не нужно использовать адо на макоси, линуксе и андроиде.
А фрешем я тем более не пользуюсь.