![]() |
![]() |
![]() |
|
Кто как "отключает" подключенную по ОЛЕ базу 1с77 ? | ☑ | ||
---|---|---|---|---|
0
Ковычки
09.05.13
✎
17:11
|
Если база использует какие либо ВК и объекты, да еще в глобальных переменных, она редко выгружается сама.
|
|||
1
Тьма
09.05.13
✎
17:54
|
В мануале написано, что нужно обнулить все переменные, вступавшие в отношения с ОЛЕ-базой.
|
|||
2
vasbur
09.05.13
✎
19:29
|
(0) ВК должна быть написана правильно, без утечек памяти. Вот и весь секрет
|
|||
3
Ковычки
10.05.13
✎
10:19
|
(2) можно пример правильной ВК и каким боком к неотключению имеет отношение неверный расход памяти ?
|
|||
4
Cube
10.05.13
✎
11:00
|
||||
5
Ковычки
10.05.13
✎
11:04
|
(4) ничего не говорит
|
|||
6
Ковычки
10.05.13
✎
11:15
|
Есть Рарус-мебель - к ней оле из упп
|
|||
7
Ковычки
10.05.13
✎
12:14
|
покажите свой опыт
|
|||
8
Delorn
10.05.13
✎
12:49
|
(7) Видел две реализации, по моему мнению для 7.7. правильные.
1) перед подключением по ОЛЕ идет анализ нужно ли пере индексировать базу, есть ли зависшие сеансы. После этого скриптами все это нормализуется. 2) на прямую забирать данные из 7.7. |
|||
9
Delorn
10.05.13
✎
12:51
|
+(8)и то что в (1) написано
|
|||
10
Ковычки
10.05.13
✎
13:03
|
(8) индексировать нет необходимости - скуль
|
|||
11
Ковычки
10.05.13
✎
13:04
|
код прост
КаталогБазыОЛе="\\2CSERVER\публичные базы данных.$\Конфигурации 77\ООО_Карат_Е_Производство\"; КаталогБазыОЛе=""""+КаталогБазыОЛе+""""; ГСЧ = Новый ГенераторСлучайныхЧисел(Минута(ТекущаяДата())* Секунда(ТекущаяДата())); КаталогПользователяОле=КаталогВременныхФайлов()+Формат(ГСЧ.СлучайноеЧисло(10000, 1000000),"ЧВН=; ЧДЦ=0; ЧГ=0")+"\"; СоздатьКаталог(КаталогПользователяОле); КаталогПользователяОле=""""+КаталогПользователяОле+""""; Сообщить(КаталогПользователяОле); ПользовательОле = "Администратор"; ПарольОле = "хххх"; БазаОле = Новый COMОбъект("V77S.Application"); РезультатПодключения = БазаОле.Initialize ( БазаОле.RMTrade , "/d" +СокрЛП(КаталогБазыОле) + " /n" + Сокрлп(ПользовательОле)+ " /p" + СокрЛП(ПарольОле) + " /u"+КаталогПользователяОле,"NO_SPLASH_SHOW"); Сообщить(РезультатПодключения); Возврат; |
|||
12
Ковычки
10.05.13
✎
13:13
|
ладно, есть конечно хардкор - но как без оного ?
Компьютер="."; Локатор=Новый COMОбъект("wbemscripting.swbemlocator"); Сервис=Локатор.ConnectServer(Компьютер,"root\cimv2"); СпОЛЕ=БазаОле.CreateObject("СписокЗначений"); СпОЛЕ.ДобавитьЗначение(БазаОле.CreateObject("WScript.Shell")); СпОЛЕ.ДобавитьЗначение(БазаОле.CreateObject("Shell.Explorer")); ТестИД=СпОЛЕ.ПолучитьЗначение(1).Exec(""""+СпОЛЕ.ПолучитьЗначение(2).fullname()+""" -Embedding").ProcessID; //ТестИД=СпОЛЕ.ПолучитьЗначение(1).Exec("c:\windows\system32\rundll32.exe kernel32,Sleep").ProcessID; ТестИД=Формат(ТестИД,"ЧВН=; ЧДЦ=0; ЧГ=0"); Процесс=Сервис.Get("Win32_Process.Handle='"+ТестИД+"'"); ПроцессИДОЛЕ=Формат(Процесс.ParentProcessID,"ЧВН=; ЧДЦ=0; ЧГ=0");; Процесс.Terminate(0); Сервис.Get("Win32_Process.Handle="+ПроцессИДОЛЕ).Terminate(0); УдалитьФайлы(КаталогПользователяОле); |
|||
13
Delorn
10.05.13
✎
13:53
|
(11)Забираешь какие виды объектов?
|
|||
14
Ковычки
10.05.13
✎
13:54
|
(13) не какие - код весь
но внутри конфы есть ВК, над ними не властвую |
|||
15
vasbur
10.05.13
✎
14:36
|
(11) Посмотри, какой ко выполняется при закрытии ИБ, к которой подключаешься.
Возможно, там компонента как-нибудь хитро выгружается из памяти. |
|||
16
Ковычки
10.05.13
✎
14:36
|
(15) как это можно посмотреть ?
|
|||
17
vasbur
10.05.13
✎
17:00
|
(16) В глобальнике процедура "при завершении работы системы" или как там она в 77 называется
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |