![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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?