Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

DCOM-Interbase


Механик ©   (2004-02-04 17:06:00) 

Проблема в следующем:
Имеется DCOM сервер, который имеет функцию подключения к базе данных. Также есть клиент на удалённой машине работающий с DCOM сервером. При вызове функции DCOM сервера выполняющей подключение к базе данных Interbase клиентом возникает ошибка: unavalidle database.
текст функции:
m_BaseUnit := TIBDatabase.Create(self);
TransactionOfBase := TIBTransaction.Create(self);
m_BaseUnit.Params.Clear();
m_BaseUnit.DefaultTransaction := TransactionOfBase;
m_BaseUnit.DatabaseName := "D:\ACCESSBASE.GDB";
m_BaseUnit.LoginPrompt := false;
m_BaseUnit.Params.Add("user_name=SYSDBA");
m_BaseUnit.Params.Add("password=zhvfhrf");
m_BaseUnit.Params.Add("lc_ctype=WIN1251");
m_BaseUnit.Connected := true;

При всём при этом всё работает отлично когда сервер и клиент на одной машине. Также всё отлично работает при вызове клиентом любых других функций когда клиент и сервер на разных машинах. Т.е. возникла проблема соединения с Interbase сервером из DCOM объекта. Что делать? Как быть?


Romkin   (2004-02-05 11:15:00) [1]

А почитать доки? Ты не по тому протоколу соединился
m_BaseUnit.DatabaseName := "LocalMashineName:D:\ACCESSBASE.GDB";


Механик   (2004-02-05 10:22:00) [2]

Всем спасибо за внимание, проблема решена изменением
m_BaseUnit.DatabaseName := "D:\ACCESSBASE.GDB";
на
m_BaseUnit.DatabaseName := "\\LocalMashineName\D:\ACCESSBASE.GDB";


Nikolay M.   (2004-02-04 17:34:00) [3]

А как сконфигурирован ДКОМ? От какого юзера пускается объект: Interactive или The launching?


Наверх

Титульная страница Поиск, карта сайта Написать письмо