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

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

Interbase через BDE [D7, IB6.x]


Spot ©   (2009-04-15 09:23:00) 

1. Можно ли получить список алиасов только типа Interbase?
2. Как получить путь к базе данных по алиасу?


Spot   (2009-04-20 04:12:00) [1]

Респект Игорю Шевченко, помогло.


topS   (2009-04-17 22:38:00) [2]


> Игорь Шевченко ©   (17.04.09 11:08) [8]

так понятно было, что перец справку не читал


Игорь Шевченко   (2009-04-17 11:08:00) [3]


> Я пишу утилитку. Хочу чтоб юзер выбирал алиас, а утилитка
> подключается к файлу БД, по его алиасу.


function TDataModule.GetDataBase (const AliasName: string): string;
var
 DBParams: TStrings;
begin
 DBParams := TStringList.Create;
 try
   with dbRPS do
     Session.GetAliasParams(AliasName, DBParams);
   Result := DBParams.Values['SERVER NAME'];
 finally
   DBParams.Free;
 end;
end;


MsGuns   (2009-04-17 10:00:00) [4]

>Spot   (17.04.09 04:56) [5]
>Хочу чтоб юзер выбирал алиас, а утилитка подключается к файлу БД, по его алиасу.

Это вообще не юзера дело - выбирать БД, к которой подключаться. Если, конечно, это не программа - сервис.
Параметры подключения, в т.ч. алиас, следует хранить в настройках приложения (реестр или ini)

ЗЫ. А почему, кстати, используется биде ? Ведь в Дельфи есть "родные" компоненты (Interbase)


Виталий Панасенко   (2009-04-17 09:55:00) [5]


> Spot   (17.04.09 04:56) [5]

А нафига то путь тебе? Все равно нужен АЛИАС, больше ничего. Выбрал-подключился


Spot   (2009-04-17 04:56:00) [6]

interbase server стоит на локальной машине.
Я пишу утилитку. Хочу чтоб юзер выбирал алиас, а утилитка подключается к файлу БД, по его алиасу.
в Инете нашел только

procedure TForm1.ListBox1Click(Sender: TObject);
var
 tStr: array[0..100] of char;
 Desc: DBDesc;
begin
 if ListBox1.Items.Count = 0 then
   exit;
 StrPLCopy(tStr, ListBox1.Items.Strings[ListBox1.ItemIndex], High(tStr));
 DbiGetDatabaseDesc(tStr, @Desc);
 with Desc do
 begin
   Label1.Caption := StrPas(Desc.szName);
   Label2.Caption := StrPas(Desc.szPhyName);
   Label3.Caption := StrPas(Desc.szDbType);
 end;
end;


в результате Label2.Caption := пустое,
я полагаю, что Desc.szPhyName выдает только PATH для алиасов типа STANDART
а как получить server name алиаса типа Itrbase?


ЮЮ   (2009-04-16 09:06:00) [7]


> полное имя файла БД

это, ИМХО, должно интересовать сервер БД, а тебя только имя(ip) компьютера, на котором крутится сервер и имя БД(алиас)


topS   (2009-04-16 09:01:00) [8]

Раздел Working with BDE aliases в справке.


Spot   (2009-04-16 04:03:00) [9]

В BDE Администратор запускаю, вижу, что алиасы intrbase есть, файл базы указан в параметре server name...
А как программно получить полное имя файла БД, по его алиас.


topS   (2009-04-15 14:48:00) [10]

1. получить все, отобрать по типу.
2. параметр SERVER NAME

вы вообще БДЕ Администратор запускали, смотрели? запустите, посмотрите


Наверх

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