Форум - Ответы     (  К темам )
 ?  Nel: Как программно задать Login и пароль для SQL (13-05-2003 16:24:55)
Есть клиент на Buildere, ктр показывает более десятка таблиц с соответствующих серверов. И каждый раз он требует ввести Login и пароль. Подскажите как от этого избавиться ??
 Anry (14-05-2003 13:48:37)
Объясни подробнее с помощью каких компонентов работаешь с таблицами.
 Павел (14-05-2003 15:02:14)
В свойстве Params компонента Database
введи строчки
USER NAME= ... (логин)
PASSWORD=... (пароль)

и сними галочку в Login prompt
 Nel (14-05-2003 15:55:12)
Спасибо за помощь, но мне это не совсем подходит. Хотя я недавно столкнулся с Builder и тонкрстей не знаю. У меня на серверах таблицы с одинаковыми названиями, а Alias БД я беру из выпадающего списка. Выбрал, нажал кнопку и при нажатии подключился, передав програмно все параметры DataSoursc, Table иDBGrid.
Все замечательно, все работает, но при каждом новом подключении требует пароль.
 Павел (14-05-2003 18:12:41)
Anry уже спрашивал - какая база данных ? Paradox, InterBase ... ?
И через какие компоненты подключаетесь ?

То-есть я понял что баз данных - несколько, но с разными Aliasa-ми
и разными паролями, а подключаетесь через компоненты с вкладки BDE.

Если это так, то:
Совет остается прежним - используйте для подключения компонент Database,
а Table (Query) настройте на него.

Database1->DatabaseName = "myBase";
Table1->DatabaseName = Database1->DatabaseName;

Database1->Connected = true;
Table1->Open();

При подключении к очередной базе, перед подключением, то есть перед
Database1->Connected = true;
программно запишите в свойствах Params компонента Database
соответствующий Alias-у - User Name и PASSWORD этой базы,
(установив у Database1 свойство LoginPrompt в false)

Database1->DatabaseName = "myBase";
Table1->DatabaseName = Database1->DatabaseName;

int n;
n = Database1->Params->IndexOfName("USER NAME");
Database1->Params->Strings[n] = "USER NAME=SYSDBA";

n = Database1->Params->IndexOfName("PASSWORD");
Database1->Params->Strings[n] = "PASSWORD=masterkey";

Database1->Connected = true;
Table1->Open();

.....
 Nel (14-05-2003 18:31:20)
У меня БД на SQL Server, а подключали они ее через Панель управления->ODBC..... и дальше мастером. Но мысль понятна, сделаю. Спасибо!!!


support@cbuilder.ru