| Record Type | Description |
| %ROWTYPE |
A
PL/SQL Record that matches the definition of a table in
the data dictionary. |
| %TYPE |
A
PL/SQL variable that matches the definition of a column in a table in
the data dictionary |
| PL/SQL
Package Record Type |
A
PL/SQL Record that is declared as part of PACKAGE definition |
| Oracle
TYPE - Scalars |
A
record created using the CREATE TYPE command that consists of one or
more fields, each of which is a conventional Oracle datatype |
| PL/SQL
INDEX BY Tables |
A
Table of NUMBER or VARCHAR2 indexed by BINARY INTEGER. |
| Oracle
TYPE - ARRAYS and VARRAYS |
A
TYPE which is an ARRAY or VARRAY of a declared Oracle type that
consists of scalars such as NUMBER, VARCHAR2 etc. In order for
OrindaBuild to be able to use an ARRAY or VARRAY it must be declared outside of a PL/SQL package -
ARRAYS and VARRAYS declared inside a
PL/SQL package are not accessible by JDBC. |
| Record Class Method Name |
Description |
| recordname (LogInterface
theLog) |
Default Constructor. |
| recordname(LogInterface theLog ,Object[] newValues) |
Copy Constructor that uses an
array of Object. This allows you to assign records that are identical
but have different names using the getCurrentValues() method. |
| getCurrentValues() |
Returns contents of this record
as an array of Object. |
| setNewValues(Object[] newValues) |
Assigns contents of this record
using an array of Object. Basic sanity checking is performed to make
sure that the array length is correct and the data types match. |
| setParamFieldName(String paramFieldName) |
Sets a field |
| setParamFieldNameToNull() | Sets a field to null. |
| getFieldName() |
Gets a field. |
| getFieldNameDataType() | Gets a field in a specific data
type |
| Table Class Method Name |
Description |
| tablename (LogInterface
theLog) |
Default Constructor |
| LogInterface theLog ,recordName[] newValues) |
Constructor that takes an array of recordName |
| setNewValues(recordName[] newValues) |
Set contents of array. Each 'Object' must be a recordName. |
| setNewValuesAsObject(Object[]
newValues) |
Set contents of array. Each 'Object' must either be null, implement oracle.sql.Datum or be a recordName. Used to unload data returned fro the database. Part of com.orindasoft.pub.PlsqlArray |
| addNewValue(recordName newValue) |
Add a new recordName to the array. If the
matching database object is an ARRAY then newValue can not be null. If
the database object is a VARRAY the newValue can be null but adding the
record must not exceed the size limit of the VARRAY, which will be
stored in a public constant called VARRAY_LENGTH. |
| Object[]
getCurrentValuesAsObject() |
Returns Array of recordName. Each recordName will implement either OraData or CustomDatum and can be used to create an array. Part of com.orindasoft.pub.PlsqlArray |
| getArrayName() |
Returns String containing Oracle Type that this table represents. Used to create Array Descriptor. Part of com.orindasoft.pub.PlsqlArray |
| Method Name | Description |
| PlsqlIndexByTable() |
Constructor
that initializes array to a zero length array of numbers. |
| setElementMaxCount(int elementMaxCount) |
Sets how many values can be in this array. |
| setElementMaxLength() |
Sets the maximum length of a
String in this array. |
| setDataTypeNumber(), setDataTypeString() |
Defines the data type of elements in the array. This must be
set even if the array is empty. |
| setArray(Object[] dataArray) |
Loads the array with an array of
Object[]. |
| Object[] getArray() |
Retrieves the array. Numbers
will always come back as java.math.BigDecimal |
| setArray(int[] newArray), setArray(long[] newArray) setArray(float[] newArray) setArray(double[] newArray) |
Sets the array using an array of
int, long, float or double. |
| getArrayAsInt(int nullToken) getArrayAsLong(long nullToken) getArrayAsFloat(float nullToken) getArrayAsDouble(double nullToken) |
Gets the array as int[],
long[], float[] or double[]. Because
the returned array can contain null you need to use nullToken to
specify how nulls are to be treated. |
| String[] getArrayAsString() |
Get the array as String[]. Some
of the elements may be null. |
|
| Error Message | Meaning |
| ORA-00600: internal error code, arguments: [12760], [], [],
[], [], [], [], [] ORA-00600: internal error code, arguments: [kodpunp1], [], [], [], [], [], [], [] ORA-00600: internal error code, arguments: [kope2upic954], [], [], [], [], [], [], [] |
This error is known to occur in 8i when
the combination of array size and record length being used exceeds the
capability of the driver. If you get this message when working with an
8.1.7 server your Connection object may become unusable. |
| "Protocol Exception" SQLException followed by "OALL8 is in an
inconsistent state" SQLException |
This is known to occur under when you are using too big an
array size. How big your array can be depends on the length of each
record and the Driver/Database combination. If you exceed the maximum
size you will get the "OALL8" SQLException and your connection object
may become unusable. This message is also created if you are using the following:
|
| Error Message | Meaning |
| ORA-06513: PL/SQL: index for PL/SQL table out of range for host language array | This error is known to occur when your array size is too small to handle the number of rows returned. |
| java.lang.OutOfMemoryError - or - ORA-03120: two-task conversion routine: integer overflow |
These errors are known to occur when an unreasonably large array has been requested or the maximum length for an array element is too long. Be aware that the Oracle 10.1.0 JDBC driver uses these numbers to allocate memory before data is returned. Never set the maximum number of elements to Integer.MAX_VALUE. |
ORA-06502: PL/SQL: numeric or value error: host bind array too small |
This is known to occur when the max length of an array item
has been
set to a value smaller than one or more of the values that are supposed
to be
returned. Newer builds of OrindaBuild (> 4.0.1818) set this value to
the length specified in the database just before setPlsqlIndexTable or
getPlsqlIndexTable is called. |
|
| Original Code: |
Modified Code: |
|||
|
|
|
| Additional Code: |
|
|