Присоветуйте как быть с V81.COMConnector

1. sdkard 71 27.07.10 14:01 Сейчас в теме
пытаюсь подключиться к внешней информационной базе (файловая)

при этом: если подключаться к базе с пользователем без пароля - все хорошо, а если у пользователя есть пароль, то выдает сообщение:
Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V81.COMConnector.1)... и дальше пишет ссылку на ошибку в "левом" общем модуле, который в данный момент не используется и самое непонятное - всегда работает без ошибок!
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Borisych 503 28.07.10 00:24 Сейчас в теме
	// Соберем строку подключения
	Если ЭтоФайловаяИБ = Истина Тогда     
		СтрокаПодключения  = "File=""" + ПутьКБазе + """" + ?(ИБПользователь <> "",";Usr=""" + ИБПользователь + """","") + 
							 ?(ИБПароль <> "",";Pwd=""" + ИБПароль + """","") + ";";
	Иначе
		СтрокаПодключения  = "Srvr=""" + КластерСерверов + """;Ref=""" + ИмяИБВКластере + """" +
							 ?(ИБПользователь <> "",";Usr=""" + ИБПользователь + """","") + 
							 ?(ИБПароль <> "",";Pwd=""" + ИБПароль + """","") + ";";   
	КонецЕсли;	
	Попытка
		#Если Клиент Тогда
		Состояние("Идет процесс соединения ...");
		#КонецЕсли
		// не 7.7
		Если ИБ.ВерсияПлатформы <> Справочники.ВерсииПлатформы.v77 Тогда
			ОбъектПодключения = "V" + СокрЛП(ИБ.ВерсияПлатформы.Код) +".COMConnector";
		Иначе
			Сообщить("Коннектор для 7.7 не определен");
			Возврат;
		КонецЕсли;
		ТекCOMПодключение = Новый COMОбъект(ОбъектПодключения);
		ТекCOMОбъект = ТекCOMПодключение.Connect(СтрокаПодключения); 
		#Если Клиент Тогда                                           
		Состояние("Соединение установлено");
		#КонецЕсли		
	    МассивПольз = ТекCOMОбъект.ПользователиИнформационнойБазы.ПолучитьПользователей();
		ТЧПользователи = ИБ.Пользователи.Выгрузить();
		Для сч = 1  По МассивПольз.Count() Цикл
			ИндCom = сч-1;
			ИмяCom = МассивПольз.Get(ИндCom).Name;
			Если ТЧПользователи.Найти(ИмяCom) = Неопределено Тогда
				Стр = ТЧПользователи.Добавить();
				Стр.Пользователь = ИмяCom;
			КонецЕсли; 
		КонецЦикла;
		ИБ.Пользователи.Загрузить(ТЧПользователи);
		ИБ.Записать();
	Исключение
		СтрокаСообщенияОбОшибке = "При попытке подключения к информационной базе произошла ошибка:" + Символы.ПС + ОписаниеОшибки();
		#Если Клиент Тогда
			Состояние("Соединение установить не удалось");
			Сообщить(ИБ.Наименование + ": соединение установить не удалось");
		#КонецЕсли
		Возврат;
	КонецПопытки;
	ТекCOMОбъект = Неопределено;
Показать
3. sdkard 71 28.07.10 06:05 Сейчас в теме
(2)
спасибо, нечто подобное я сумел собрать и сам, однако оно не работает.
COM-объект создается на ура :) , а вот подключения по верным параметрам к информационной базе при наличии пароля пользователя не даётся :(
вот именно здесь: ТекCOMОбъект = ТекCOMПодключение.Connect(СтрокаПодключения); и заканчивается
4. sdkard 71 28.07.10 07:33 Сейчас в теме
Спасибо тем, кто читал и особенно тем, кто писал!
Проблему решил:
просто в общих модулях были всякие "препроцессорные причиндалы" не отрезанные {#Если Клиент Тогда...#КонецЕсли} - поправил и всё заработало!
т.к. я в с этими делами первый раз столкнулся, то и не знал, что при внешнем подключении к информационной базе проводится такая вот "полупроверка" её модулей
5. Leprikon 26.10.11 16:12 Сейчас в теме
Уважаемые коллеги, а есть где-нибуть описание всех методов этих самых коннекторов V81.COMConnector или V81.COMConnector
для того чтобы обращаться с ними из С# или VB
6. shura1973 27.10.11 14:45 Сейчас в теме
(5) Leprikon, в желтеньких книжечках, что идут с платформой
7. Leprikon 28.10.11 14:42 Сейчас в теме
хм. есть желтые книжки по администрированию и пользовательские (шли с конфигурацией и т.д.).
если не сложно напишите точное название как должны называться.
8. пользователь 29.10.11 12:41
Сообщение было скрыто модератором.
...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот