Имя: Пароль:
1C
1С v8
Ошибка при вызове метода контекста (Connect)
0 Draconus
 
23.01.13
18:32
Всем привет!

Пробую подключиться через СОМ объект к другой базе, после чего вылезает такая ошибка... может кто знает что тут?

{РегистрСведений.аДокументооборотЖурналВыполненияПроцесса.МодульНабораЗаписей(149)}: Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V82.COMConnector.1): Идентификация пользователя не выполнена
Неправильное имя или пароль пользователя

Вот код, которым пытаюсь соединиться:

Функция бит_ду_УстановитьСоединениеСБазой(СтруктураОбъекта) Экспорт

   //подключимся к базе данных
   ИнфБаза=СтруктураОбъекта.ИнформационнаяБаза;
   
   СтруктураПараметровБазы=аДООбщееСервер.ПолучитьПараметрыИнформационнойБазы(ИнфБаза);

   СерверныйРежим=СтруктураПараметровБазы.СерверныйРежим;
   
   Пользователь=СтруктураПараметровБазы.Пользователь;
   
   //получим пароль
   Пароль=СтруктураПараметровБазы.Пароль;
   
   Если СерверныйРежим Тогда
       ИмяСервера=СтруктураПараметровБазы.ИмяСервера;
       БазаСервера=СтруктураПараметровБазы.БазаСервера;
       СтрокаСоединения="Srvr="""+СокрЛП(ИмяСервера)+"""; Ref="""+СокрЛП(БазаСервера)+""";";
       
   Иначе
       ПутьКФайловойБазе=СтруктураПараметровБазы.ПутьКФайловойБазе;
       //проверим существует ли каталог базы
       ФайлНаДиске = Новый Файл(ПутьКФайловойБазе);
       Если НЕ ФайлНаДиске.Существует() Тогда
           Сообщить("Внимание! Каталог внешней базы данных """+ПутьКФайловойБазе+""" недоступен!");
           Возврат Неопределено;
       КонецЕсли;
       
       СтрокаСоединения="File="""+СокрЛП(ПутьКФайловойБазе)+""";";
       
   КонецЕсли;
   
   Если НЕ СтруктураПараметровБазы.ИспользоватьАутентификациюОперационнойСистемы Тогда
       СтрокаСоединения=СтрокаСоединения+" Usr="""+СокрЛП(Пользователь)+""";"+?(СокрЛП(Пароль)="", "", " Pwd="""+СокрЛП(Пароль)+""";");
       
   КонецЕсли;
   
   Попытка
       Если СтруктураПараметровБазы.Платформа81 Тогда
           Соединение=Новый COMОбъект("V81.COMConnector");
       Иначе
           Соединение=Новый COMОбъект("V82.COMConnector");
       КонецЕсли;
   Исключение
       аДООбщееСервер.СообщитьОбОшибке(ОписаниеОшибки()+". Проверьте настройки DCOM для """+?(СтруктураПараметровБазы.Платформа81, "V81.Application", "V82.Application")+""" на локальном компьютере.");
       Возврат Неопределено;
   КонецПопытки;
   
   Попытка
       Соединение.Connect(СтрокаСоединения);
       Соединение.Visible=Ложь;
   Исключение
       Сообщить(ОписаниеОшибки(), СтатусСообщения.Важное);
       Возврат Неопределено;
   КонецПопытки;
   
   Возврат Соединение;
   
КонецФункции



Единственное, что при подключении идет аутентификация операционной системы, если брать обычную 1С, но все норм...

Платформа 8.2.15.301
Подключаюсь из Документооборота в Бухню...
1 Draconus
 
23.01.13
18:33
Ругается вот на этот кусок...

   Попытка
       Соединение.Connect(СтрокаСоединения);
       Соединение.Visible=Ложь;
   Исключение
       Сообщить(ОписаниеОшибки(), СтатусСообщения.Важное);
       Возврат Неопределено;
   КонецПопытки;
2 DrShad
 
23.01.13
18:35
строкаСоединения что в ней, чтоб мы не гадали параметры подключения?
3 Draconus
 
23.01.13
18:38
(2) Да, конечно....

Srvr="1csrv"; Ref="kazna";
4 DrShad
 
23.01.13
18:38
ну и где у тебя юзер?
5 Draconus
 
23.01.13
18:39
(4) Согласен, как его вытащить при аутентификации ОС тогда?
6 Draconus
 
23.01.13
18:40
Мда.... Я ступил, точно. Спасибо!
7 Goggy
 
23.01.13
18:41
Функция бит_ду_УстановитьСоединениеСБазой()

из бита штоле?))
8 DrShad
 
23.01.13
18:43
код обрабатывается на сервере или клиенте? Если на сервере, тогда вход осуществляется от имени пользователя, под которым сервер запущен. А если локально - тогда от имени текущего пользователя

и этих юзверей нужно иметь в БД
9 Draconus
 
23.01.13
18:46
(7) Да, временно тут.

(8) Спасибо!