Long is no longer used in Oracle and only exists for compatibility with older systems.
You can only have one long field per table.
Solution: switch to CLOB or NCLOB.
- Oracle Data Types
Would like some openoffice developer exchange both Openfire tables as plugins the LONG type by type recommended by Oracle (LOB columns (CLOB, NCLOB, BLOB))?
LONG columns store variable-length character strings containing up to 2 gigabytes -1, or 231-1 bytes.
LONG columns have many of the characteristics of
VARCHAR2 columns. You can use
LONG columns to store long text strings. The length of
LONG values may be limited by the memory available on your computer.
LONG literals are formed as described for “Text Literals”.
Do not create tables with
LONG columns. Use LOB columns (
LONG columns are supported only for backward compatibility.
Oracle also recommends that you convert existing
LONG columns to LOB columns. LOB columns are subject to far fewer restrictions than
LONG columns. Further, LOB functionality is enhanced in every release, whereas
LONG functionality has been static for several releases. See the
modify_col_properties clause of ALTER TABLE and TO_LOB for more information on converting
LONG columns to LOB.
You can reference
LONG columns in SQL statements in these places:
The use of
LONGvalues is subject to these restrictions:
A table can contain only one
You cannot create an object type with a
LONGcolumns cannot appear in
WHEREclauses or in integrity constraints (except that they can appear in
LONGcolumns cannot be indexed.
LONGdata cannot be specified in regular expressions.
A stored function cannot return a
You can declare a variable or argument of a PL/SQL program unit using the
LONGdatatype. However, you cannot then call the program unit from SQL.
Within a single SQL statement, all
LONGcolumns, updated tables, and locked tables must be located on the same database.
RAWcolumns cannot be used in distributed SQL statements and cannot be replicated.
If a table has both
LONGand LOB columns, then you cannot bind more than 4000 bytes of data to both the
LONGand LOB columns in the same SQL statement. However, you can bind more than 4000 bytes of data to either the
LONGor the LOB column.
LONGcolumns cannot appear in these parts of SQL statements:
BYclauses or with the
UNIQUEoperator of a
The column list of a
CLUSTERclause of a
SQL built-in functions, expressions, or conditions
SELECTlists of queries containing
SELECTlists of subqueries or queries combined by the
SELECTlists in subqueries in
Triggers can use the
LONGdatatype in the following manner:
A SQL statement within a trigger can insert data into a
If data from a
LONGcolumn can be converted to a constrained datatype (such as
VARCHAR2), then a
LONGcolumn can be referenced in a SQL statement within a trigger.
Variables in triggers cannot be declared using the
OLDcannot be used with
You can use Oracle Call Interface functions to retrieve a portion of a
LONGvalue from the database.
Oracle Call Interface Programmer’s Guide
*Source: Datatypes *
It may be that one of the reasons not to store all the messages in Openfire, is this.