FAQ по InterBase
Вопрос: На каких платформах доступен InterBase?
Ответ:
Вопрос: В InterBase базе установил character set win1251,
а русские буквы не хотят добавляться в базу.
Ответ: Поставьте Interbase в каталог с путем, соответствующим DOS-овским
соглашениям (8:3) - "c:\ib".
Пpи помощи BDE:
-
в алиасе yстановить LANGDRIVER=Pdox ANSI Cyrillic
-
Configuration/System/INIT --> LANGDRIVER='ascii' ANSI
Вопрос: В каких случаях происходит
отбрасывание концевых пробелов? У меня получается следующее: в конструкции
SELECT концевые пробелы не отбрасываются, а в конструкции INSERT -отбрасываются.
Ответ: Проверьте структуру таблицу. Скорее всего, поле, куда вы вставляете
строку посредством Insert, имеет тип строки с переменной длиной. Особенности
строковых типов данных:
-
CHAR(n) - n символов, от 1 до 32767, строковый тип фиксированной длины.
Если содержимое поля меньше указанного размера, то оно "выравнивается"
дополнительными пробелами.
-
VARCHAR(n) - n символов, от 1 до 32767, строковый тип переменной длины.
Пробелы в конце содержимого поля игнорируются.
Вопрос: В каких случаях предпочтительнее использовать
типы полей CHAR, VARCHAR или BLOB?
Ответ: Рекомендации по выбору типа.
если длина поля < 255 символов, то:
-
лучше использовать CHAR - даже при записи 20 символов в поле длиной 50
символов на диск все-равно запишется ~20 символов.
-
нежелательно использовать VARCHAR - могут возникнуть проблемы с производительностью
при использовании протокола TCP/IP.
-
не имеет смысла использовать BLOB - выборка BLOB осуществляется по его
идентификатору, поэтому происходит чуть дольше и требует немного больше
затрат на программирование.
если длина поля > 255, но < ~10000 символов
-
Можно использовать как CHAR или VARCHAR, так и BLOB. Индексирование по
полям такой длины невозможно, к тому-же есть шанс что однажды записываемые
данные превысят 10000 символов, и может-быть BLOB подойдет больше. Ориентируйтесь
только на удобство работы с такими данными в приложении.
если длина поля > ~5000 символов, или информация может быть произвольной
-
лучше использовать BLOB. Подтип может быть любой, информацию в таком поле
можно хранить произвольную и не беспокоиться о размере данных. Стоимость
доступа к данным такого размера полностью компенсирует разницу в способах
хранения и извлечения полей типа CHAR и BLOB.
Подробнее - http://ib.demo.ru
Вопрос: Можно ли использовать компоненты IB Express в
Delphi 4?
Ответ: В составе Delphi 5 поставляется IB 5.5. Также входит набор компонент,
который базируется на FreeIBComponents и называется IB Express. Исходные
тексты IBX будут только в версии Delphi 5 Enterprise. Компоненты эти невозможно
использовать в Delphi 4, т.к. в Delphi 5 несколько изменились иерархия
классов и набор свойств компонент VCLDB.
За дополнительной информацией обращайтесь в компанию Interface Ltd.
Обсудить на форуме Borland