Проверка наличия БД на сервере

RDee
Дата: 16.05.2011 06:47:30
Здравствуйте.

Использую компонент UniDac для установления соединения с базой Mysql. Программно осуществляется выбор БД.
Такой вопрос, как проверить наличия соединения с БД, нужно проверить существует ли эта база перед подключением и если существует выполнить один код если нет другой.
Или как можно получить список баз, которые есть в MySQL.

Проверяю соединение так:
Mysql_base:='BD';

try
  DM.UniConnection1.Disconnect;
  DM.UniConnection1.Database:=Mysql_base;
  DM.UniConnection1.Connect;

  if DM.UniConnection1.Connected=True then
   begin
    DM.UniQ_Create_Table.Close;
    DM.UniQ_Create_Table.ExecSQL; 
    DM.UniQ_Create_Table.Close;
   end;

   except
on e: exception do
end;
Anatoly Podgoretsky
Дата: 16.05.2011 09:11:58
У тебя разве исключение не возникает?
И есть ли у UniDac ассинхронное подключение? Может это оно?
devart
Дата: 16.05.2011 11:11:59
RDee,


Проверить наличие базы на сервере можно следующим образом:

var
  lst: TStringList;
  i: Integer;
begin

  lst:= TStringList.Create;
  UniConnection1.GetDatabaseNames(lst);
  for i:=0 to lst.Count - 1 do
    if st = 'BD' then
    ........
Anatoly Podgoretsky
Дата: 16.05.2011 11:39:02
А цикл то тут зачем, при наличии IndexOf
RDee
Дата: 16.05.2011 12:00:42
devart,

Большое спасибо, обязательно воспользуюсь!