как сделать переподключение к sql базе из 1С программно ? #251109


#0 by Evg
Из обработки проведения документов, есть необходимость при проведении  документов за целый месяца или если кол-во проведенных доков > 2тыс сделать реконнект к базе. Как это реализовать не закрывая обработку и 1С  ?
#1 by Господин ПЖ
Чего?
#2 by Мулька
Может про транзакции почитаешь ?
#3 by toypaul
1c++ reconnectnative
#4 by Evg
непонятно объяснил ? доки провожу и так в транзакциях по n штук
#5 by Evg
поподробнее можно
#6 by Господин ПЖ
На кой? Замедление при проведении?
#7 by toypaul
yandex -> 1c++
#9 by Mikeware
Прочитай доку к 1С++. Там все понятно
#10 by Evg
ещё как,
#11 by Господин ПЖ
Лечится линейкой и стаканом с водой.
#12 by Evg
что ж за метод такой ? :))) доку по 1С++ ... Описание: специальный метод для решения проблемы с MSSQL 2000 (Bug #: 472280) Выполняет отключение и подключение родного соединения программы с сервером. При этом не должно быть открытых форм списков, форм объектов, прочих объектов языка на основе курсора, подготовленных или перебираемых объектов ODBCRecordset (через родное соединение, разумеется). Не допускается вызывать этот метод в транзакции явной или неявной. Да, но мне не желательно закрывать обработку(она же открытая форма ...). Как быть, посоветуйте !
#13 by Господин ПЖ
Кладешь линейку на клаву, на кнопку "<-", ставишь на линейку стакан с водой.
#14 by Господин ПЖ
(+13) Шоб стакан не упал только.
#15 by Evg
что за трава ?
#16 by Прохожий
Цирк им. Никулина...
#17 by mamont
Зеленый чай, забитый в вырванные листочки из официальных мануалов по 1С :))) Короче, не лечится эта бага, ручками все...
#18 by Evg
а как же вот это (из описания метода ReconnectNative):специальный метод для решения проблемы с MSSQL 2000 (Bug #: 472280) Выполняет отключение и подключение родного соединения программы с сервером. При этом не должно быть открытых форм списков, форм объектов, прочих объектов языка на основе курсора, подготовленных или перебираемых объектов ODBCRecordset (через родное соединение, разумеется). Не допускается вызывать этот метод в транзакции явной или неявной.
#19 by mamont
Незнаю, сожет и прокатит, теоритически. :) Если втыкать между обращением к объекту, и таймаут какой-то поставить, чтоб подождал выполнения... Расскажешь потом, о последствиях. :)))
#20 by Evg
дело не таймауте, то что вставляется чтобы подождал - это пауза и она реализована уже. Но торможение всё равно присутствует ...
#21 by mamont
Значет не там ищешь. Тормоз почему? Темпы sql делает, или 1С локально? Всеже имхо это 1С, можно даже проверить в темпах винды, а значит ее саму валить надо. :)
#22 by Evg
не отслеживал про темпы. Основываюсь на общеизвестном факте, который утверждает примерно следующее чем больше документов в 1СSQL проведено в одной сессий, тем дольше он их проводит , зависимость геометрическая прогрессия. Даже тест есть на эту тему
#23 by smaharbA
Все лечится. (не делайте опрометчивых заявлений)
#24 by mamont
Поправка - не только sql, любая 1С. На dbf я сам это не однократно наблюдал.
#25 by mamont
Научи. :)
#26 by smaharbA
читай внимательно, только с 1с++ все это не очч, муму сделал получше, но за бабло. а самое простое блокировки выкинуть...
#27 by Evg
а почему 1с++ не очень для решения этой проблемы ?
#28 by mamont
Извините уважаемый, а блокировки тут причем? Тормозит от увеличения временной информации, а она после расчетов появляется... О_о
#29 by Evg
да, если для smaharbA, проще отказаться от блокировок, то значит проблема решается оччень сложно либо коряво, что проще от решения отказаться ...
#30 by smaharbA
блокировки не причем, тупа чтобы не мешало работе, а реконнект помогает, только вот беда надо туже самую сессию реконнектить, пока это только 1с++ и МуМу (softpoint.ru) удалось, вернее больше и не заморачивались никто видать
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С