Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001
22. Как осуществляется лицензирование InterBase?
InterBase предусматривает два типа лицензий: Named User (пользовательская) и Concurrent Server (серверная). Лицензия Named User рекомендуется для приложений, в которых количество пользователей, имеющих доступ к базе данных, является числом относительно постоянным, а вероятность добавления в сетевую среду серверов InterBase достаточно высока. Данная лицензия гарантирует, что любой пользователь NT Named Client будет иметь полный доступ ко всем серверам предприятия InterBase NT без необходимости приобретения лицензий для множества пользователей. Цена лицензии Concurrent Server позволяет разработчикам иметь определенное количество параллельно работающих пользователей, но при этом количество потенциальных пользователей может быть значительно большим. Если число потенциальных пользователей значительно превышает число паралельно работающих пользователей на текущий момент, лицензия Concurrent Server позволит вам в будущем сэкономить немало денег. Тем не менее, если к приложению прибавляются дополнительные сервера баз данных, вы должны иметь серверные лицензии в количестве паралелльно работающих пользователей, подключенных к этим серверам, даже если эти пользователи уже работают с другими серверами NT, имеющимися на предприятии. Таким образом, лицензия Named Client позволяет лицензировать и пользователей, и машины, и допускает подключение клиента к любому серверу предприятия NT, имеющему лицензию Named Client. Лицензия Concurrent Server лицензирует количество параллельно работающих на сервере пользователей и не предоставляет клиентам никаких клиентских лицензий.
23. Могу ли я свободно копировать ODBC драйвера InterBase?
Нет, но все пользователи InterBase 4.2, имеющие лицензию Named User, могут иметь копию клиентских библиотек InterBase и драйверов ODBC, установленных на их машине. Таким образом, если вы купили легальную лицензию для подключения к InterBase, вы имеете право на создание резервной копии. Аналогично этому, все пользователи InterBase 4.2 с лицензиями Concurrent Server также могут иметь копии клиентских библиотек и драйверов ODBC, установленных на их машине. Разработчики не могут копировать библиотеки 4.2 на машины незарегистрированных пользователей, или пользователей предыдущих версий InterBase [например, 4.0 и 4.1]. Пользователи этой группы должны обновить сервер до версии InterBase 4.2 или приобрести индивидуальные копии инструментария разработчика (Developer Toolkit) для каждого клиента, где имеются файлы этого инструментария [драйверы ODBC, GUI-утилиты и пр.].
24. Сколько стоит обновление до 4.2?
Клиенты InterBase 4.0 и 4.1 могут обновить InterBase до версии 4.2 за $499.95
Как гарантированно сделать backup/restore БД InterBase с опцией 'Replace existing database' и записями протоколов в файлы с гарантированным отстрелом пользователей?
Nomadic советует:
Att.bat:
at 01:00 /INTERACTIVE "e:IB_DATABR.BAT"
BR.bat
del e:IB_DATAb.txt
del e:IB_DATAr.txt
del e:ib_dataAR_IB.PRV
del e:IB_DATAAR_IB.GBK
d:ib_42bingfix –shut –force 1 e:ib_dataAR_IB.GDB –user "SYSDBA" –password "oooo"
net stop "InterBase Server"
copy e:ib_dataAR_IB.GDB e:ib_dataAR_IB.PRV
net start "InterBase Server"
d:ib_42bingbak e:ib_dataAR_IB.GDB e:ib_dataAR_IB.GBK –user "SYSDBA" –password "oooo" –B –L –Y "e:IB_DATAb.txt"
d:ib_42bingbak e:ib_dataAR_IB.GBK e:ib_dataAR_IB.GDB –user "SYSDBA" –password "oooo" –P 4096 –V –R –Y "e:IB_DATAr.txt"
Sergey Klochkovski
Как скомпилиpовать UDF для Interbase под Linux RH 4.0?
Nomadic советует:
Пример –
#!/bin/sh
gcc –c –O –fpic udflib.c
ld –o libudf.so –shared udflib.o
cp libudf.so /usr/interbase/lib/
ldconfig –v>>/dev/null
Как узнать текущие дату и время в Interbase?
Nomadic отвечает:
Дата + время – DATE.
Только дата – TODAY.
Только время – DATE-TODAY.
После снесения через родной uninstall Interbase Server 5.0 для Windows и желания поставить 5.1.1 вылетает ошибка: IBCheck. Что делать?
Nomadic отвечает:
Решение найдено. Прочитай сам и передай товарищу:
Надо запустить regedit, и открыть ключ
HKEY_LOCAL_MACHINEEnvironment
Там есть строка PATH. Так вот иногда она почему-то становится не строкой, а еще чем-то. Ее надо убить, и пересоздать как строку, прописав туда прежнее содержимое (в виде строки).
При попытке регистрации UDF возникает ошибка (udf not defined). Что не так?
Nomadic отвечает:
Располагайте DLL в каталоге Interbase/Bin, или в одном из каталогов, в которых ОС обязательно будет произведен поиск этой библиотеки (для Windows это %SystemRoot% и %Path%);
При декларировании функции не следует указывать расширение модуля (в Windows по умолчанию DLL):
declare external function f_SubStr
cstring(254), integer, integer
returns
cstring(254)
entry_point "Substr" module_name "UDF1"
Где UDF1 – UDF1.DLL.
Как заставить Interbase принять COLLATE PXW_CYRL по умолчанию?
Nomadic отвечает:
(Это очень полезно при прямой работе с IB из различного CASE-инструментария, типа PowerDesigner или ErWIN)
Чтобы не писать каждый раз COLLATE, я сделал следующее:
1. Создал сохранённую процедуру
create procedure fix_character_sets
as
begin
update
rdb$character_sets
set
rdb$default_collate_name = 'PXW_CYRL'
where rdb$character_set_name = 'WIN1251'
and
rdb$default_collate_name = 'WIN1251'
;
end
2. Запустил ее один раз.
3. Создаю таблицы без указания COLLATE.
4. После восстановления из архива, запускаю еще раз.
ODBC
Добавление ODBC-драйверов в Delphi 3
Минимальные требования, необходимые для установки драйвера ODBC в Delphi 3.0, заключаются в наличии следующих компонентов:
Microsoft ODBC Manager
Windows 95 или NT
Delphi версии Developer или Client/Server
Поставляемый производителем драйвер ODBC (уже установленный в вашей системе)
При использовании Delphi 3.0 есть два общих метода добавления ODBC драйверов к BDE. Первым шагом при использовании любого из методов является установка постовляемого производителем драйвера ODBC в вашу систему. После этого достаточно сложного шага остальные шаги будут не такими сложными. В левой панели менеджера BDE расположен список драйверов и источников данных, которые прежде были ориентированы на использование с приложениями BDE.
Метод A:1. Для начала запустите из меню Windows Start BDE Administrator (он должен располагаться в папке Delphi 3.0.)
2. Теперь в главном меню выберите пункт Object|ODBC administrator. (будет показан спискок установленных в настоящий момент драйверов.)
3. Нажмите Add, выберите ODBC драйвер, для которого вы хотели бы создать источник данных, и нажмите на OK.
4. Затем заполните необходимую для вашего драйвера информацию. (Минимальная конфигурация требует заполнения поля Data Source Name. Вам необходимо будет заполнить по крайней мере еще одно поле, описывающее месторасположение данных. В случае таблиц Paradox и dBase это будет поле «Path» (путь), или поле «Server» (сервер) в случае конфигурирования драйвера ODBC для Interbase ODBC. Если вы используете Interbase, вы должны указать путь к файлу .GDB, если вы пользуетесь файлами Paradox или dBASE, вы должны определить месторасположение каталога с таблицами, и, наконец, если вы используете Oracle, вы указать строку, расположенную в вашем файле TNSNAMES.ORA. После того как вы это сделаете, можно считать, что виртуальный драйвер вами создан, и вы можете получить доступ к вашим файлам с базами данных через созданный вами источник данных.)
Метод B:1. Для начала запустите из меню Windows Start BDE Administrator (он должен располагаться в папке Delphi 3.0.)
2. Щелкните на закладке database, затем правой кнопкой мыши на левой панели.
3. Щелкните в контекстном меню на пункте New, выберите тип ODBC драйвера, который вы хотите добавить, и нажмите на кнопку OK.
4. Снова щелкните правой кнопкой на панели database, и в появившемся контекстном меню выберите Apply.
5. Теперь на панели definition вы должны выбрать правильный ODBC DSN (Data Source Name, имя источника данных) и нажать apply. Оба этих метода заканчиваются способностью Delphi с помощью TDataset перехватывать живые данные.
Вы, возможно, обратили внимание на новые опции в меню Object|Options, эти опции позволяют вам выбирать для просмотра различные режимы конфигурации. Желательно в панели View в группе Select Configuration Modes включить (отметить галочками) все выключатели. При всех включенных checkbox-ах вы получите в свое распоряжение расширенный список всех драйверов и псевдонимов, доступных вам для использования. Если галочка напротив ‘virtual’ отсутствует, вы не сможете увидеть драйверы, добавленные через менеджер MS ODBC, а увидете драйверы, установленный только с помощью BDE (в соответствии с методом 2).
Oracle
Связь Oracle с Win95
Delphi 2
Оптимизация связи Oracle с Windows 95