Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001
Если вы подключаете \SERVER_1DATA в корень диска P, то каждая система Paradox должна определять расположение PARADOX.NET как P:PDOXDATA. Тем не менее, другие пользователи могут подключить \SERVER_1DATA к корневому каталогу O и установить O:PDOXDATA как местоположение сетевого управляющего файла.
Конфигурирование 16-битного Database Engine / IDAPI.CFG
Файл конфигурации Database Engine хранит специфическую сетевую информацию, список псевдонимов баз дынных и другую информацию. Вы можете конфигурировать IDAPI с помощью программы конфигурации Database Engine, BDECFG.EXE, и устанавливать с помощью нее месторасположение сетевого управляющего файла. Также возможно добавление, удаление и изменение псевдонимов баз данных (включая информацию об используемом драйвере и типе псевдонима), каким способом IDAPI осуществляет общий доступ к локальным таблицам для программ, использующих протокол блокировки Paradox 4.0, а также некоторые особенности относительно таблиц и способа отображения данных.
Локальные 16-битные установки
Файл WIN.INI содержит путь к файлу IDAPI.CFG, «рабочему» («Working») каталогу Database Desktop и «частному» («Private») каталогу Database Desktop. Для изменения этих значений необходимо загрузить файл WIN.INI в любой текстовый редактор и отредактировать его. Путь к файлу IDAPI.CFG описан в группе [IDAPI] как CONFIGFILE=<полный диск, путь и имя файла> или CONFIGFILE01=<полный диск, путь и имя файла>.
Месторасположение «рабочего» («Working») и «частного» («Private») каталога Database Desktop описано в группе [DBD] соответственно как WORKDIR=<полный диск и каталог> и PRIVDIR=<полный диск и каталог>.
Конфигурирование 32-битного Database Engine / IDAPI32.CFG
Конфигурационный файл BDE хранит ту же информацию, что и конфигурационный файл Database Engine. Для конфигурирования IDAPI32.CFG используется утилита BDE Configuration, BDECFG32.EXE. Вдобавок к этому, вы можете сохранять информацию в регистрах, или сразу, и в регистрах, и в IDAPI32.CFG.
Локальные 32-битные установки
В регистрах содержится путь к IDAPI32.CFG, к «рабочему» («Working») и частному («Private») каталогу. Месторасположение файла IDAPI32.CFG хранится в ключе HKEY_LOCAL_MACHINESoftwareBorlandDatabase Engine. Значение CONFIGFILE01 содержит данные типа <полный диск, путь и имя файла>.
Месторасположение каталогов BDE «Working» и «Private» хранится соответственно в ключах HKEY_CURRENT_USERSoftwareBorlandDBD7.0ConfigurationWorkDir и HKEY_CURRENT_USERSoftwareBorlandDBD7.0ConfigurationPrivDir. По умолчанию, данные для каждого каталога хранятся в виде <Полный диск и каталог>.
Доступ к таблицам Paradox
BDE сначала пытается получить доступ к файлу PDOXUSRS.NET. Если файл PDOXUSRS.NET не найден, Paradox создает новый файл PDOXUSRS.NET и продолжает процедуру запуска. Если файл PDOXUSRS.NET присутствует, но владелец этого net-файла использует другой путь, т.е. подключил сервер иначе, возникает исключительная ситуация «Multiple net files in use» (Используются несколько net-файлов) и BDE прекращает свою работу. После того, как сеть успешно открыла эксклюзивную блокировку, PARADOX.LCK размещается во временном, частном каталоге. При невозможности установки блокировки, BDE прекращает свою работу. Причина неудачи может заключаться в том, что какой-то пользователь имеет в этом каталоге эксклюзивную блокировку, или же файлы блокировки используют различные net-файлы. После того, как каталог будет защищен от частного использования, общий файл PARADOX.LCK будет расположен в рабочем каталоге, и на этом процесс инициализации будет завершен.
Я так и не смог заставить выводить текст с помощью DBMS_OUTPUT.PUT_LINE в режиме отладки
Nomadic отвечает:
Эта функция используется действительно только для отладки. Для того, чтобы результаты ее работы были видны из SQL Plus, необходимо в нем выдать команду: set serveroutput on size 10000;
После analyze_schema некоторые (приличное количество) из запросов начинают сильно тормозить. Как лечить?
Nomadic отвечает:
Это у всех так или у воркгрупп 7.3.2 под HТ только? Пока полечил удалением статистики. Хинтить не предлагайте, запросы генерит crystal report, а он очень трепетно относится к редактированию sql-предложения в некоторых местах…
А ты метод оптимизатора по дефолту переключи в RULE. Это можно сделать разными способами :
1. ALTER SESSION SET OPTIMIZER_GOAL = … (это только для данной сессии)
2. При старте инстанса поправить параметр OPTIMIZER_MODE (это для всех сессий)
Определение установленной BDE
Delphi 1
Для Delphi 2 проверьте регистрацию в ключе регистра
HKEY_LOCAL_MACHINESoftwareBorlandDatabase Engine
Для Delphi 1 проверьте в файле Win.INI секцию с именем IDAPI
[IDAPI]
DLLPATH=3DD:WINPROGDELPHIIDAPI
CONFIGFILE01=3DD:WINPROGDELPHIIDAPIIDAPI.CFG
Хотя это и не лучший путь, поскольку пользователь может удалить BDE, а регистры или INI-файл будут хранить эту информацию.
Установка BDE
Delphi 1
Вот имена файлов, которые вам нужно установить в рантайме:
Borland Database Engine
Уникальный файл на BDE Disk #1
Имя файла :– IDAPICFG.PAK
Устанавливаемый Exe :-Setup.exe
Borland SQL Links
Уникальный файл на SQL Disk #1
Имя файла :– MNOVLWP.PAK
Устанавливаемый Exe :-Setup.exe
Borland ReportSmith Runtime
Уникальный файл на RPT Disk #1
Имя файла :– INSTXTRA.PAK
Устанавливаемый Exe :-Setup.exe
Borland настоятельно рекомендует при установке рантайм-версий пользоваться программами установки.
Каковы текущие ограничения BDE?
Nomadic отвечает:
BDE: под Windows, все версии.
Если Вы обнаружите, что Вы ограничены более строго, чем здесь описано, или Вы получаете ошибку выхода за пределы доступной памяти, то увеличение параметра SHAREDMEMSIZE в BDE Config до 4096 или более может способствовать снятию более строгих ограничений.
Здесь указаны максимальные ограничения для некоторых общих обьектов BDE.
Основные ограничения BDE:
• 48 клиентов в системе;
• 32 сессии на одного клиента (для версии 3.5 и ниже, 16 Bit, 32 Bit)
• 256 сессий на одного клиента (для версии 4.0 и выше, 32 Bit)
• 32 открытых баз данных на сессию (для версии 3.5 и ниже, 16 Bit, 32 Bit)
• 2048 открытых баз данных на сессию (для версии 4.0 и выше, 32 Bit)
• 32 загруженных драйвера
• 64 сессии в системе (для версии 3.5 и ниже, 16 Bit, 32 Bit)
• 12288 сессии в системе (для версии 4.0 и выше, 32 Bit)
• 4000 курсоров на сессию
• 16 вхождений в стеке ошибок
• 8 типов таблиц на один драйвер
• 16 типов полей на один драйвер
• 8 типов индексов на один драйвер
• 48K Размер конфигурационного файла (IDAPI.CFG)
• 64K Максимальный размер оператора SQL при RequestLive=False
• 4K Максимальный размер оператора SQL при RequestLive=True (для версии 4.0 и ниже, 16/32 Bit)
• 6K Максимальный размер оператора SQL при RequestLive=True (для версии 4.01 и выше, 32 Bit)
• 16K Размер буфера записи (SQL и ODBC)
• 31 Размер имени таблицы и имени поля в символах
• 64 Размер имени хранимой процедуры в символах
• 16 Полей в ключе
• 3 Размер расширения имени файла в символах
• 260 Длина имени таблицы в символах (некоторые сервера могут иметь другие ограничения)
• 260 Длина полного имени файла и пути файловой системы в символах
Ограничения Paradox:
• 127 открытых таблиц в системе (для версии 4.0 и ниже, 16/32 Bit)
• 254 открытых таблиц в системе (для версии 4.01 и выше, 32 Bit)
• 64 блокировки на запись на одну таблицу (16Bit) на одну сессию
• 255 блокировок на запись на одну таблицу (32Bit) на одну сессию
• 255 записей, учавствующих в транзакции на таблицу (32 Bit)
• 512 открытых физически файлов (DB, PX, MB, X??, Y??, VAL, TV) (для версии 4.0 и ниже, 16/32 Bit)
• 1024 открытых физически файлов (DB, PX, MB, X??, Y??, VAL, TV) (для версии 4.01 и выше, 32 Bit)
• 300 пользователей в одном файле PDOXUSRS.NET
• 255 полей в таблице
• 255 размер символьных полей
• 2 миллиарда записей в таблице
• 2 миллиарда байт в .DB (таблица) файле
• 10800 байт на запись для индексированных таблиц
• 32750 байт на запись для неиндексированных таблиц
• 127 вторичных индексов на таблицу
• 16 полей на индекс
• 255 одновременно работающих пользователей на таблицу
• 256 Мегабайт данных на одно BLOb поле
• 100 паролей на сессию
• 15 длина пароля
• 63 паролей на таблицу
• 159 полей с проверками корректности (validity check) (32 Bit)
• 63 поля с проверками корректности (validity check) (16 Bit)
Ограничения dBase:
• 256 открытых таблиц dBASE на систему (16 Bit)
• 350 открытых таблиц dBASE на систему (BDE 3.0 – 4.0, 32 Bit)
• 512 открытых таблиц dBASE на систему (BDE 4.01 и выше, 32 Bit)
• 100 блокировок на запись на одной таблице dBASE (16 and 32 Bit)
• 100 записей, учавствующих в транзакции на таблицу (32 Bit)
• 1 миллиард записей в таблице