Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.10.2015, 12:54   #1
Prostaf
Пользователь
 
Регистрация: 09.09.2015
Сообщений: 25
По умолчанию Подключение к БД FireBird

Здравствуйте, уважаемые. Есть сервер(уже написан), нужно подключиться к удаленной бд firebird. Есть ip и путь где лежит бд(никогда не работал с firebird). Как произвести подключение к этой БД, какие стандартные компоненты delphi в этом помогут?
Prostaf вне форума Ответить с цитированием
Старый 02.10.2015, 13:03   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Достаточно IBDatabase, IBQuery и IBTransaction если не ошибаюсь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.10.2015, 13:07   #3
Prostaf
Пользователь
 
Регистрация: 09.09.2015
Сообщений: 25
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Достаточно IBDatabase, IBQuery и IBTransaction если не ошибаюсь.
Если не сложно, можете показать примеры коннекта к бд?
Prostaf вне форума Ответить с цитированием
Старый 02.10.2015, 13:35   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Описание: http://www.ibase.ru/devinfo/ibx.htm

Я использую такую функцию:
Код:
function Connect(Host, path,pass,login: String): boolean;
begin
  if IBQuery.Active then IBQuery.Active:=false;
  if IBDatabase.Connected then IBDatabase.Close;


  with IBDatabase do begin
      DatabaseName:=host+':'+Path;
      with Params do begin  Clear;
       add('user_name='+login);
       add('password='+pass);
       add('lc_ctype=WIN1251');
      end;
      try
       Open;
       Result:=true;
      except
         on E: Exception do begin
          Result:=false;
         end;
      end;
  end;

end;
IBQuery связано с IBDatabase свойством Database.
IBTransaction так же установлено в IBDatabase в соответствующем свойстве
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.10.2015, 13:45   #5
Prostaf
Пользователь
 
Регистрация: 09.09.2015
Сообщений: 25
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Описание: http://www.ibase.ru/devinfo/ibx.htm

Я использую такую функцию:
Код:
function Connect(Host, path,pass,login: String): boolean;
begin
  if IBQuery.Active then IBQuery.Active:=false;
  if IBDatabase.Connected then IBDatabase.Close;


  with IBDatabase do begin
      DatabaseName:=host+':'+Path;
      with Params do begin  Clear;
       add('user_name='+login);
       add('password='+pass);
       add('lc_ctype=WIN1251');
      end;
      try
       Open;
       Result:=true;
      except
         on E: Exception do begin
          Result:=false;
         end;
      end;
  end;

end;
IBQuery связано с IBDatabase свойством Database.
IBTransaction так же установлено в IBDatabase в соответствующем свойстве
Во! Все понятно! Спасибо!
Тогда сразу задам следующий вопрос.
Мне просто кинули процедуру, которую нужно подвязать к бд.
Код:
procedure SB_CHECK (
    TXN_ID varchar(50) not null,
    ACCOUNT varchar(20) not null,
    SUMMA numeric(15,2) not null)
returns (
    OSMP_TXN_ID varchar(50),
    RESULT integer,
    OCOMMENT varchar(50))
Как такую процедуру подвязать к бд и получать от этой бд ответ?
Prostaf вне форума Ответить с цитированием
Старый 02.10.2015, 13:57   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А нет процедуры, есть только её заголовок
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 02.10.2015, 14:01   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
кинули процедуру
Скорее тебя кинули
Действительно - где тело? куда тело процедуры закопали?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.10.2015, 14:02   #8
Prostaf
Пользователь
 
Регистрация: 09.09.2015
Сообщений: 25
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Скорее тебя кинули
Действительно - где тело? куда тело процедуры закопали?
а вот шеф кинул этот кусок, и ему фиолетово, че, куда и где)
Prostaf вне форума Ответить с цитированием
Старый 02.10.2015, 14:15   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
шеф кинул
Кинь шефа. Напугай люстрацией.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.10.2015, 14:46   #10
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,770
По умолчанию

Цитата:
Сообщение от Prostaf Посмотреть сообщение
Мне просто кинули процедуру, которую нужно подвязать к бд.
Код:
procedure SB_CHECK (
    TXN_ID varchar(50) not null,
    ACCOUNT varchar(20) not null,
    SUMMA numeric(15,2) not null)
returns (
    OSMP_TXN_ID varchar(50),
    RESULT integer,
    OCOMMENT varchar(50))
Это, видимо, существующая процедура в БД, которую нужно вызвать на клиенте? Нужно использовать IBStoredProc.
Vapaamies вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подключение к БД Firebird в локальной сети artemavd БД в Delphi 9 03.11.2016 16:22
Подключение к БД Firebird через Интернет artemavd Общие вопросы Delphi 0 24.05.2015 18:30
программное подключение к базе Firebird Jene4ka БД в Delphi 5 24.04.2011 22:12
firebird подключение Domanoff БД в Delphi 15 09.06.2010 16:04
Подключение к БД FireBird через API [C++] anGeee SQL, базы данных 0 29.11.2009 21:53