Автор: delphi | 14.12.2007 в 7:19 | Рубрики: Базы данных

Используйте компонент TDatabase. В строках Params пропишите:

USER NAME=sysdba
PASSWORD=masterkey

Затем установите свойство компонента TDataBase LoginPrompt в False.
После этого, с помощью свойства DataBaseName, вы должны создать прикладной псевдоним (Alias) и связать TQuery/TTable с вашим компонентом TDataBase.

Всем известно, что возможности interbase можно расширить за счет написания пользовательских функций UDF. Но почему на Free Pascal?
Есть ряд веских причин.

1. При переносе Вашего сервера на другую платформу, например, с win32 на FreeBSD или Linux, возникает проблема переноса также и UDF. Как известно, есть дистрибутивы Free Pascal на эти платформы.
2. В Pascal имеется очень удачная концепция библиотеки (library). При переносе на другую платформу достаточно перекомпилировать библиотеку, и она будет работать. При написании аналогичной библиотеки на с приходится переделывать make файл. Читать полностью…

UPDATE RDB$FIELDS
SET RDB$CHARACTER_SET_ID = 52
WHERE RDB$FIELD_NAME = ‘RDB$SOURCE”

Как гарантированно сделать backup/restore БД InterBase с опцией ‘Replace existing database’ и записями протоколов в файлы с гарантированным отстрелом пользователей?

Att.bat:
at 01:00 /INTERACTIVE “e:\IB_DATA\BR.BAT”
BR.bat:
del e:\IB_DATA\b.txt
del e:\IB_DATA\r.txt
del e:\ib_data\AR_IB.PRV
del e:\IB_DATA\AR_IB.GBK
d:\ib_42\bin\gfix -shut -force 1 e:\ib_data\AR_IB.GDB -user “SYSDBA” -password “oooo”
net stop “InterBase Server”
copy e:\ib_data\AR_IB.GDB e:\ib_data\AR_IB.PRV
net start “InterBase Server”
d:\ib_42\bin\gbak e:\ib_data\AR_IB.GDB e:\ib_data\AR_IB.GBK -user “SYSDBA” -password “oooo” -B -L -Y “e:\IB_DATA\b.txt”
d:\ib_42\bin\gbak e:\ib_data\AR_IB.GBK e:\ib_data\AR_IB.GDB -user “SYSDBA” -password “oooo” -P 4096 -V -R -Y “e:\IB_DATA\r.txt”
Sergey Klochkovski

Автор: delphi | в 7:19 | Рубрики: Базы данных

До чего же несовершенна техника! Человеку, чтобы прийти в себя, необходимо два пальца, а компьютеру - три.

if savedialog1.execute then
begin
if FileExists(savedialog1.filename) then
DeleteFile(savedialog1.filename);
//QUERY.DataSource НЕ ЗАПОЛНЕНО иначе взрыв гарантирован
with Session do
begin
ConfigMode := cmSession;
try
AddStandardAlias(’TEMPDB’, extractfilepath(savedialog1.filename),
‘FOXPRO’); //FOXPRO
finally
ConfigMode := cmAll;
end;
end;
with database1 do
begin
databasename:=’tst’;
LoginPrompt := False;
Params.Values[’PATH’] :=extractfilepath(savedialog1.filename);
DriverName:=’Microsoft FoxPro Driver (*.dbf)’;
AliasName:=’TEMPDB’;
end;
query1.paramcheck := false;
Query1.DatabaseName := ‘tst’;
Query1.SQL.Clear;
vrem:=Trim(ChangeFileExt(extractfilename(SaveDialog1.fileName),’ ‘));
query1.sql.Add(’CREATE TABLE ”’+vrem+”’ (’);
query1.sql.Add(’last_name CHAR(20),’);
query1.sql.Add(’first_name CHAR(15),’);
query1.sql.Add(’salary DECIMAL(10,2));’); //NUMERIC
query1.ExecSQL;
query1.close;
end; // от savedialog