Чтение онлайн

ЖАНРЫ

Советы по Delphi. Версия 1.4.3 от 1.1.2001

Озеров Валентин

Шрифт:

Месторасположение каталогов BDE «Working» и «Private» хранится соответственно в ключах HKEY_CURRENT_USER\Software\Borland\DBD\7.0\Configuration\WorkDir и HKEY_CURRENT_USER\Software\Borland\DBD\7.0\Configuration\PrivDir. По умолчанию, данные для каждого каталога хранятся в виде <Полный диск и каталог>.

Доступ к таблицам 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_MACHINE\Software\Borland\Database Engine

Для Delphi 1 проверьте в файле Win.INI секцию с именем IDAPI

[IDAPI]

DLLPATH=3DD:\WINPROG\DELPHI\IDAPI

CONFIGFILE01=3DD:\WINPROG\DELPHI\IDAPI\IDAPI.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 одновременно работающих пользователей на таблицу

Поделиться с друзьями: