Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001
- Название:Советы по Delphi. Версия 1.4.3 от 1.1.2001
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001 краткое содержание
…начиная с 1001. Смотрите другие файлы…
Советы по Delphi. Версия 1.4.3 от 1.1.2001 - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
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 миллиард записей в таблице
• 2 миллиарда байт в файле .DBF (таблица)
• 4000 Размер записи в байтах (dBASE 4)
• 32767 Размер записи в байтах (dBASE for Windows)
• 255 Количество полей в таблице (dBASE 4)
• 1024 Количество полей в таблице (dBASE for Windows)
• 47 Количество тэгов индексов на один .MDX-файл.
• 254 Размер символьных полей
• 10 открытых основных индексов (.MDX) на таблицу
• 220 Длина ключевого выражения в символах
В процессе работы программы изменилась структура БД (alter table etc.). Программа продолжала успешно открывать таблицы, но запросы посылались в соответствии со старой схемой данных
Nomadicотвечает:
В установках BDE (Configuration utility или BDEAdmin) можно выставить SCHEMA CACHE = FALSE (не кэшировать схему данных).
Но в некоторых случаях ошибки такого рода все-таки происходят. В таком случае необходимо воспользоваться методом TDatabase.FlushSchemaCache после каждого изменения метаданных.
Как в Delphi сбросить кэш БД на диск?
Nomadicотвечает:
usesBDE {в Delphi 1.x не помню, но вроде bdeprocs};
dbiSaveChanges
На Delphi 1.x (16bit) дополнительно вызовите эту процедуру -
procedureDropCache; assembler;
asm
mov ah,$0D
int $21
end;
Как настроить MS SQL Server 6.5 на корректную работу с числами и BDE при выполнении UPDATE?
Nomadicотвечает:
Дело в том, что SQL Links на NT-ишном клиенте шлет на сервер дату как 1-янв-97, что сервер не пpиемлет. Совершенно случайно я нашел системный скрипт, который подключает русский и болгарский языки.
1. выполни sp_configure и убедись, что у тебя default sortorder id==106 (rus case insens) или 105 (rus case sens). Если нет – переставь сервер.
2. найди в каталоге c:\mssql\install скрипт instlang.sql и запусти его.
3. либо руками каждому проставь каждому логину, работающему с NT, язык русский, либо поставь его как default language серверу. В этом случае 95-м клиентам придется руками прописать в логине язык us_english, иначе они перестанут работать.
Для установки russian как default надо выполнить скрипт:
exec sp_configure 'default language', 2
go
reconfigure
go
Как научить VCL делать Refresh для запросов правильно?
Особенно интересует Refresh для связки Master-Detail.
Nomadicотвечает:
Старо как мир, и нет ничего военного:
procedureRefreshQuery(Query: TQuery; F: boolean);
varB: TBookMark;
begin
withQuery do ifQuery.Active then begin
B := GetBookMark;
try
Close;
Unprepare; {Если не поставить этого, то если используется select SP, то иногда последующая операция вешает сервер. Кто скажет почему?!}
Active:=True;
ifF then begin
try
GotoBookMark(B)
except onEDatabaseError doFirst;
end
end elseFirst;
finally
FreeBookmark(B);
end;
end;
end;
Уфф! Кажется, лучше уже не сделать. :)
dbtables можно опционально пропатчить (см. в конце), чтобы иметь такой вот рyлезный Detail query.
Update for dbtables.pas
New interface function DoRefreshQuery can Refresh TQuery component in master-detail scheme and alone.
Читать дальшеИнтервал:
Закладка: