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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2012, 20:18   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
Вопрос Подключение к БД Firebird в локальной сети

Добрый вечер! Есть такой расклад: в организации несколько компьютеров, объединенных единой локальной сетью, друг друга видят. Пишу программу с использование Firebird и Delphi. Сервер Firebird будет (по ТЗ) установлен на каждой машине. Файл FDB будет размещаться только на одной машине, все остальные компьютеры будут подключаться по локальной сети к нему. Собственно вопрос вот в чем: что и какие настройки нужно прописать (задать) при подключении клиентов к файлу БД? Только IP адрес и полный путь до файла? Как он правильно должен выглядеть?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 22.01.2012, 21:03   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Вырезка из моего модуля для работы с птичкой:
Код:
function Tfb.Connect(Host, path: String): boolean;
begin
  if q.Active then q.Active:=false;
  if d.Connected then d.Close;
  if Path='' then Path:='d:\база.GDB';
  aHost:=Host;aPath:=Path;
  if Host<>'' then Host:=Host+':';
  with d do begin
      DatabaseName:=host+Path; 
      with Params do begin  Clear;
       Add('user_name=sysdba');
       add('password=masterkey');
       add('lc_ctype=WIN1251');
      end;
      try
       Open;
       Result:=true;
      except
         on E: Exception do begin
          FError:=E.Message;
          Result:=false;
         end;
      end;
  end;
end;
q,d, - IBQuery и IBDatabase соответственно связанные. К ним же еще IBTransaction скорее всего придется привязывать, это уже в дизайне мона.
FError - тупо переменка
Оффициально Подключение пишется так <host>:<Path to base>, у меня они разделены.
Цитата:
Сервер Firebird будет (по ТЗ) установлен на каждой машине.
Глупо. База и сервер должны вращаться на специально отведенной машине-сервере, на остальные только клиентов.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.01.2012, 21:07   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
По умолчанию

Спасибо, Виталий! Попробую так сделать.
Цитата:
Глупо. База и сервер должны вращаться на специально отведенной машине-сервере, на остальные только клиентов.
Ну да, согласен. Я попробую клиентов только поставить.

Host - это имеется ввиду IP адрес?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.

Последний раз редактировалось artemavd; 22.01.2012 в 21:16.
artemavd вне форума Ответить с цитированием
Старый 22.01.2012, 21:22   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Host - это имеется ввиду IP адрес?
Или имя тачки, если в hosts прописано. Ну да ты прав, я тоже стал IP прописывать. В недоменных сетях имя машины лучше не ставить.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.01.2012, 21:26   #5
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
По умолчанию

т.е. пример строки для DatabaseName может быть таким:
Код:
127.0.0.1:D:\\test.fdb
?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 22.01.2013, 13:41   #6
Айдар
Форумчанин
 
Регистрация: 20.06.2009
Сообщений: 195
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
т.е. пример строки для DatabaseName может быть таким:
Код:
127.0.0.1:D:\\test.fdb
?
привет, в поле DatabaseName должно быть

\\192.168.27.3\C:\Uchet\UCHET.FDB

и не забудь подкинуть на пк клиенты GDS32.DLL, у меня без него не заработало
Айдар вне форума Ответить с цитированием
Старый 22.01.2013, 14:48   #7
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
т.е. пример строки для DatabaseName может быть таким:
Код:
127.0.0.1:D:\\test.fdb
?
не рекомендуется использовать такой стиль подключения.
гораздо эффективнее на сервере в файле aliases.conf (в корне firebird-а) прописать строку
Код HTML:
test_base = D:\test.fdb
и потом в DatabaseName писать
Код HTML:
komp_server:test_base

Цитата:
и не забудь подкинуть на пк клиенты GDS32.DLL
для фаера лучше пользоваться fbclient.dll
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...

Последний раз редактировалось Yurk@; 22.01.2013 в 14:51.
Yurk@ вне форума Ответить с цитированием
Старый 23.01.2013, 06:48   #8
superedward
Форумчанин
 
Аватар для superedward
 
Регистрация: 27.11.2012
Сообщений: 190
По умолчанию

Цитата:
Сообщение от Yurk@ Посмотреть сообщение
Код HTML:
komp_server:test_base
Поддерживаю
superedward вне форума Ответить с цитированием
Старый 14.10.2016, 18:19   #9
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
По умолчанию

Цитата:
Сообщение от Yurk@ Посмотреть сообщение
не рекомендуется использовать такой стиль подключения.
гораздо эффективнее на сервере в файле aliases.conf (в корне firebird-а) прописать строку
Код HTML:
test_base = D:\test.fdb
и потом в DatabaseName писать
Код HTML:
komp_server:test_base


для фаера лучше пользоваться fbclient.dll
Добрый день!
А вот у меня что-то не подключается, если прописать так в свойстве DatabaseName...
Выдается такое сообщение об ошибке при нажатии в свойстве Connect в режиме разработки.
Изображения
Тип файла: png Снимок.PNG (13.3 Кб, 160 просмотров)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 03.11.2016, 16:22   #10
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Добрый день!
А вот у меня что-то не подключается, если прописать так в свойстве DatabaseName...
Выдается такое сообщение об ошибке при нажатии в свойстве Connect в режиме разработки.
а что прописано в файле aliases.conf ?
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Socket: Подключение клиента из глобальной сети к серверу, расположенному в локальной сети Дамир Общие вопросы .NET 4 01.12.2010 12:12
Подключение к скрипту из локальной сети sSsantasSs PHP 10 29.06.2010 10:26
Отключить подключение по локальной сети Hakal Работа с сетью в Delphi 0 15.04.2010 17:40
Удалить подключение по локальной сети. stenl1 Операционные системы общие вопросы 10 29.10.2009 08:05
подключение\отключение локальной сети geget Работа с сетью в Delphi 1 08.04.2008 15:25