Skip to main content

ftOraClob

ftOraClob = 31

Example

function IsOracleCharacterLOB(Field: TField): Boolean;
begin
Result := Field.DataType = ftOraClob;
end;

Usage

ftOraClob identifies a legacy Oracle character large object whose character set and streaming behaviour remain provider-controlled.

Additional Technical Info

ftOraClob is declaration ordinal 31 of TFieldType. It is the historic Delphi provider marker for an Oracle 8 character large object. A modern driver can expose the same database concept as a generic memo/wide-memo type, so do not make this exact enum a portability requirement.

The installed RTL maps it to TMemoField but treats it as base ftBlob for dataset compatibility. This is important: the logical value is character data, yet the concrete driver controls Oracle database character-set conversion, Unicode support and stream behavior. The enum itself does not distinguish CLOB from NCLOB or declare an on-wire encoding.

Prefer string access for bounded values and provider blob streams for large values. Verify source/destination character sets before migration; an ANSI memo path can lose characters even when the database column can represent them. Preserve Null independently from empty text, and define line-ending/normalisation rules at the integration boundary.

Oracle locator lifetime, transaction visibility and maximum-size behavior are driver/session contracts. Do not persist the ordinal as an Oracle type code or assume it remains valid after dataset movement or commit.

The example only inspects metadata and was source-reviewed; no Oracle connection, CLOB, encoding, stream, dataset, database, runtime or image test ran.

External references

Created 2026-07-15