Задание псевдонима программным путем

=== Задание псевдонима программным путем ===
Эта информация поможет вам разобраться в вопросе создания и использования ПСЕВДОНИМОВ баз данных в ваших приложениях.
Вне Delphi создание и конфигурирование псевдонимов осуществляется утилитой BDECFG.EXE. Тем не менее, применяя компонент TDatabase, вы можете в вашем приложении создать и использовать псевдоним, не определенный в IDAPI.CFG.
Важно понять, что создав псевдоним, использовать его можно только в текущем сеансе вашего приложения. Псевдонимы определяют расположение таблиц базы данных и параметры связи с сервером баз данных. В конце концов, вы получаете преимущества использования псевдонимов в пределах вашего приложения без необходимости беспокоиться о наличии их в конфигурационном файле IDAPI.CFG в момент инициализации приложения.
Некоторые варианты решения задачи:
Пример #1 создает и конфигурирует псевдоним для базы данных STANDARD (.DB, .DBF). Псевдоним затем используется компонентом TTable.
Пример #2 создает и конфигурирует псевдоним для базы данных INTERBASE (.gdb). Псевдоним затем используется компонентом TQuery для подключения к двум таблицам базы данных.
Пример #3 создает и конфигурирует псевдоним для базы данных STANDARD (.DB, .DBF). Демонстрация ввода псевдонима пользователем и его конфигурация во время выполнения программы.
==== Пример #1: Используем базу данных .DB или .DBF (STANDARD) ====
# Создаем новый проект.
# Располагаем на форме следующие компоненты: - TDatabase, TTable, TDataSource, TDBGrid, and TButton.
# Дважды щелкаем на компоненте TDatabase или через контекстное меню (правая кнопка мыши) вызываем редактор базы данных.
# Присваиваем базе данных имя 'MyNewAlias'. Это имя будет выполнять роль псевдонима в свойстве DatabaseName для компонентов типа TTable, TQuery, TStoredProc.
# Выбираем в поле Driver Name (имя драйвера) пункт STANDARD.
# Щелкаем на кнопке Defaults. Это автоматически добавляет путь (PATH=) в секцию перекрытых параметров (окно Parameter Overrides).
# Устанавливаем PATH= to C:\DELPHI\DEMOS\DATA (PATH=C:\DELPHI\DEMOS\DATA).
# Нажимаем кнопку OK и закрываем окно редактора.
# В компоненте TTable свойству DatabaseName присваиваем 'MyNewAlias'.
# В компоненте TDataSource свойству DataSet присваиваем 'Table1'.
# В компоненте DBGrid свойству DataSource присваиваем 'DataSource1'.
# Создаем в компоненте TButton обработчик события OnClick.
procedure TForm1.Button1Click(Sender: TObject);
begin
 Table1.Tablename:= 'CUSTOMER';
 Table1.Active:= True;
end;
Запускаем приложение.
 В качестве альтернативы шагам 3 - 11, вы можете включить все эти действия в сам обработчик:
procedure TForm1.Button1Click(Sender: TObject);
begin
 Database1.DatabaseName := 'MyNewAlias';
 Database1.DriverName := 'STANDARD';
 Database1.Params.Clear;
 Database1.Params.Add('PATH=C:\DELPHI\DEMOS\DATA');
 Table1.DatabaseName := 'MyNewAlias';
 Table1.TableName := 'CUSTOMER';
 Table1.Active := True;
 DataSource1.DataSet := Table1;
 DBGrid1.DataSource := DataSource1;
end;
==== Пример #2: Используем базу данных INTERBASE ====
:1. Создаем новый проект.
:2. Располагаем на форме следующие компоненты: - TDatabase, TQuery, TDataSource, TDBGrid, and TButton.
:3. Дважды щелкаем на компоненте TDatabase или через контекстное меню (правая кнопка мыши) вызываем редактор базы данных.
:4. Присваиваем базе данных имя 'MyNewAlias'. Это имя будет выполнять роль псевдонима в свойстве DatabaseName для компонентов типа TTable, TQuery, TStoredProc.
:5. Выбираем в поле Driver Name (имя драйвера) пункт INTRBASE.
:6. Щелкаем на кнопке Defaults. Это автоматически добавляет путь (PATH=) в секцию перекрытых параметров (окно Parameter Overrides).
 SERVER NAME=IB_SERVEER:/PATH/DATABASE.GDB
 USER NAME=MYNAME
 OPEN MODE=READ/WRITE
 SCHEMA CACHE SIZE=8
 LANGDRIVER=
 SQLQRYMODE=
 SQLPASSTHRU MODE=NOT SHARED
 SCHEMA CACHE TIME=-1
 PASSWORD=
Устанавливаем следующие параметры
 SERVER NAME=C:\IBLOCAL\EXAMPLES\EMPLOYEE.GDB
 USER NAME=SYSDBA
 OPEN MODE=READ/WRITE
 SCHEMA CACHE SIZE=8
 LANGDRIVER=
 SQLQRYMODE=
 SQLPASSTHRU MODE=NOT SHARED
 SCHEMA CACHE TIME=-1
 PASSWORD=masterkey
:7. В компоненте TDatabase свойство LoginPrompt устанавливаем в 'False'. Если в секции перекрытых параметров (Parameter Overrides) задан пароль (ключ PASSWORD) и свойство LoginPrompt установлено в 'False', при соединении с базой данный пароль запрашиваться не будет. 
:: Предупреждение: при неправильно указанном пароле в секции Parameter Overrides и неактивном свойстве LoginPrompt вы не сможете получить доступ к базе данных, поскольку нет возможности ввести правильный пароль - диалоговое окно "Ввод пароля" отключено свойством LoginPrompt.
:8. Нажимаем кнопку OK и закрываем окно редактора.
:9. В компоненте TQuery свойству DatabaseName присваиваем 'MyNewAlias'.
:10. В компоненте TDataSource свойству DataSet присваиваем 'Query1'.
:11. В компоненте DBGrid свойству DataSource присваиваем 'DataSource1'.
:12. Создаем в компоненте TButton обработчик события OnClick.
procedure TForm1.Button1Click(Sender: TObject);
begin
 Query1.SQL.Clear;
 Query1.SQL.ADD(
 'SELECT DISTINCT * FROM CUSTOMER C, SALES S
 WHERE (S.CUST_NO = C.CUST_NO)
 ORDER BY C.CUST_NO, C.CUSTOMER');
 Query1.Active:= True;
end;
:13. Запускаем приложение.
==== Пример #3: Ввод псевдонима пользователем ====
Этот пример выводит диалоговое окно и создает псевдоним на основе информации, введенной пользователем.
Директория, имя сервера, путь, имя базы данных и другая необходимая информация для получения псевдонима может быть получена приложением из диалогового окна или конфигурационного .INI файла.
:1. Выполняем шаги 1-11 из примера #1.
:2. Пишем следующий обработчик события OnClick компонента TButton:
procedure TForm1.Button1Click(Sender: TObject);
var
 NewString: string;
 ClickedOK: Boolean;
begin
 NewString := 'C:\';
 ClickedOK := InputQuery('Database Path', 'Path: --> C:\DELPHI\DEMOS\DATA', NewString);
 if ClickedOK then
 begin
 Database1.DatabaseName := 'MyNewAlias';
 Database1.DriverName := 'STANDARD';
 Database1.Params.Clear;
 Database1.Params.Add('Path=' + NewString);
 Table1.DatabaseName := 'MyNewAlias';
 Table1.TableName := 'CUSTOMER';
 Table1.Active := True;
 DataSource1.DataSet := Table1;
 DBGrid1.DataSource := DataSource1;
 end;
end;
:3. Запускаем приложение.
Source: Взято с http://delphiworld.narod.ru
ID: 02525