Книга: S. D. F.
Первая задача: создать новую базу данных.
Первая задача: создать новую базу данных.
Рис 2.
010 procedure TFMain.NewDB1Click(Sender: TObject);
020 var
030 fn : string;
040 begin
050 fn := InputBox('File Name',' Введите имя файла новой базы данных','');
060 if fn = '' then exit;
070 if UpperCase(ExtractFileExt(fn)) <> '.FDB'
080 then fn := fn + '.FDB';
090 with DataM do
100 begin
110 IBDatabase1.Params.Clear;
120 IBDatabase1.Params.Add('USER SYSDBA');
130 IBDatabase1.Params.Add('PASSWORD masterkey');
140 IBDatabase1.Params.Add('PAGE_SIZE 4096');
150 IBDatabase1.DatabaseName:= fn;
160 IBDatabase1.SQLDialect := 3;
170 IBDatabase1.CreateDatabase;
180 IBDatabase1.Connected:=True;
190 IBTransaction1.Active:=True;
200 end;
210 end;
- В 50 строке запрашивается имя для файла новой базы данных, если мы не ответим, то в 60 строке выход из процедуры.
- В 70 строке проверяется, ввели ли мы расширение в имени файла, и если мы ленивы, то 80 строка таковое расширение добавляет.
- А вот это, важно! В строках 120 и 130 вводится имя пользователя и пароль. Во всех руководствах по Firebird говорится, что приведенные пароль и пользователь, указанны для образца, а использовать надлежит свои.
- Посему, меняем строки на:
120 IBDatabase1.Params.Add('USER Cats');
130 IBDatabase1.Params.Add('PASSWORD forever');
* А причем здесь коты?
- Ну, у себя ты введешь свои пароли.
* О, у себя, я как всегда напишу…
- Стоп, стоп, стоп! И ни другу, не врагу, никогда не …
* Ладно, я понял.
- * -
* Шеф, усе пропало!!! т.е. не получилось. Появилось угрожающее окно Debugger Exception Notification, со страшной надписью Project Project1.exe raised exception class EIBInterBaseError with message 'unavailable database'. Process stopped. Use Step or Run to continue..
- Спокойствие, только спокойствие... бывало и у меня такое.
- Для комфортной работы Firebird хочет иметь доступ к своим dll а именно:
gds32.dll
icudt30.dll
icuuc30.dll
и желательно:
firebird.msg
Конечно, лучше всего поместить эту компанию, в папочку WINDOWSsystem или WINDOWSsystem32, в этом случае, в дальнейшем ни о чем не надо беспокоится, НО если тебе надо показать твою гениальную программу заказчику, (а на его месте я бы не разрешил лазить тебе в системные папки) лучше держать эту свору в демонстрационной папке.
- * -
* У меня проблемы стал копировать dll, а система и говорит файл gds32.dll мол у меня есть только постарее да поменьше, можно ли заменить, ну я слов то не померил, и системе той поверил. А эта Редиска и говорит что она занята, т.е. файл занят.
- Ну, занят файл, значит, занят, мы то ящик покупаем не для собственного удовольствия, а для удовлетворения запросов системы, ну и ладно…
- Ибо сказано: Если у тебя есть фонтан – заткни его, и компьютеру надо отдохнуть…
- Все выключай, и иди погуляй.
«Продолжение следует»
- Часть первая Наука о скрытых мотивах поведения
- Как растить потребительскую базу
- Глава первая. Большая загадка
- Резервное копирование базы данных InterBase
- Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
- Резервное копирование многофайловых баз данных
- Решетка «упразднить – снизить – повысить – создать»
- Восстановление из резервных копий многофайловых баз данных
- Владелец базы данных
- ЧАСТЬ IV. База данных и ее объекты.
- Перевод базы данных InterBase 6.x на 3-й диалект
- Типы данных для работы с датой и временем