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

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

Совет нужен по IB [D6, IB6.x]


Max Zyuzin ©   (2002-10-30 08:41:00) 

Приветствую всех!
Вот тут пишу я программу сетевую, в качестве сервера БД выбрал InterBase. И вот думаю как грамотнее организовать...
Вопрос в том как правильно настраивать параметры конекта клиентов к БД, т.е. как удобнее задавать путь к БД и пароль. Каждый раз перекомпилировать клиента, в случае если решили сервер переставить на другую машину, это ни есть хорошо.
Самый протоой способ который я пока придумал - это хранить пути и пароли в ini фалах вместе с клиентом, тогда поправить будет не сложно случись что... но опять же хранить все в открытом виде тоже не очень хорошо....
Вот такая дилема... кто что посоветует?


AlteFriz   (2002-10-31 12:24:00) [1]

А где взять эти компоненты (административные)?


NickBat   (2002-10-31 10:22:00) [2]

Есть готовая программка для добавления/изменения пользователей под IB. Если надо пиши.


Max Zyuzin   (2002-10-31 08:24:00) [3]

Спасибо большое всем, а особенно kaif © (30.10.02 23:21) помотрел эту палитру и точно есть то что мне нужно :)!!


kaif   (2002-10-30 23:21:00) [4]

Так в палитре IBX (административной) есть компоненты, позволяющие упростить добавление пользователей


Jack128   (2002-10-30 21:56:00) [5]

2 Max Zyuzin ©

const
sec_uid_spec = $00000001;
sec_gid_spec = $00000002;
sec_server_spec = $00000004;
sec_password_spec = $00000008;
sec_group_name_spec = $00000010;
sec_first_name_spec = $00000020;
sec_middle_name_spec = $00000040;
sec_last_name_spec = $00000080;
sec_dba_user_name_spec = $00000100;
sec_dba_password_spec = $00000200;

sec_protocol_tcpip = 1;
sec_protocol_netbeui = 2;
sec_protocol_spx = 3;
sec_protocol_local = 4;

type

PISC_STATUS = ^TISC_STATUS;
TISC_STATUS = integer;

PUser_Sec_Data = ^TUser_Sec_Data;
TUser_Sec_Data = record
sec_flags : short; {* which fields are specified *}
uid : integer; {* the user"s id *}
gid : integer; {* the user"s group id *}
protocol : integer; {* protocol to use for connection *}
server : PChar; {* server to administer *}
user_name : Pchar; {* the user"s name *}
password : Pchar; {* the user"s password *}
group_name : Pchar; {* the group name *}
first_name : Pchar; {* the user"s first name *}
middle_name : Pchar; {* the user"s middle name *}
last_name : Pchar; {* the user"s last name *}
dba_user_name : Pchar; {* the dba user name *}
dba_password : Pchar; {* the dba password *}
end;

function isc_add_user(status : PISC_STATUS; PUserData : PUser_Sec_Data) : Integer; stdcall; external "gds32.dll" name "isc_add_user";
function isc_modify_user(status : PISC_STATUS; PUserData : PUser_Sec_Data) : Integer; stdcall; external "gds32.dll" name "isc_modify_user";
function isc_delete_user(status : PISC_STATUS; PUserData : PUser_Sec_Data) : Integer; stdcall; external "gds32.dll" name "isc_delete_user";


visla   (2002-10-30 21:29:00) [6]

Макс, ищи в документации по SQL. Есть возможность на серваке оставить триггер по занесению юзеров (псевдо-консоль). Вызываешь ее програмно стандартным методом


Max Zyuzin   (2002-10-30 11:49:00) [7]

У меня еще вопрос, связанны с предидущим.
Мне надо программно пользователей создавать, редактировать и удалять.
На www.ibase.ru нашел pdf-чик один по SQL ролям...
Там есть пример как программно добавлять пользователей. Но он использует функции хитрые InterBase API, в общем я у себя таких библиотек не нашел Ibase.pas в случае Дельфи. Кто нить сталкивался?


Max Zyuzin   (2002-10-30 11:07:00) [8]

Усем спасибо за участие %) Подумал я и сделаю так, как предложил Johnmen © (30.10.02 09:30)


Johnmen   (2002-10-30 09:30:00) [9]

Пожалуй самое простое и надежное - ini файл с параметрами соединения (кроме пароля). И пусть все смотрят на него, что с того ? А пароль вводится...


Карелин Артем   (2002-10-30 09:19:00) [10]

Путь к базе можно спрашивать у пользователя. Я как-то делал так: хранил путь в реестре. Если записи в реестре нет либо файл не существует, то вывожу диалог открытия файлов. После этого записываю новый путь в реестр.
Насчет открытого вида: можно как-нить шифрануть...


Max Zyuzin   (2002-10-30 08:47:00) [11]

Ну по первому в общем я так и думал :)
А по второму... ведь тогда в программе придется жестко прописать этот самый сетевой каталог.


Alexandr   (2002-10-30 08:43:00) [12]

1) пароль спрашивать у пользователя.
2) путь к базе данных хранить в расшаренном сетевом каталоге.


Наверх

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