Troubleshooting
Problem
Error: ORA-01461: can bind a LONG value only for insert into a LONG column thrown when creating the Reporting Schema
Cause
When an administrator 'Creates' or 'Recreates' the OpenPages reporting schema, several things occur. On the 'Create' command, the 'RT' database tables are created and populated with data. On the 'Recreate' command, the 'RT' database tables are dropped, recreated, and repopulated with data.
In order to perform these database transaction, dynamic SQL is executed. The dynamic SQL can be different from system to system. The dynamic SQL is constructed based on how the object types are related; how many fields are on the object type; and the name of the fields on the object. The combination of these items can cause the length of the dynamic SQL to grow. In order to execute the dynamic SQL for the reporting schema, a PL/SQL package is used. The SQL that gets generated for the RT tables has an upper maximum of 32k characters due to an oracle limitation.
Resolving The Problem
The workaround is to exclude the object type, individual field group, and/or individual field(s) from the reporting schema altogether.
Removing individual fields will shorten the overall length of the SQL that gets generated.
To remove these fields, an administrator can perform the following steps:
- Log onto the application server.
- Open a command prompt window (or SSH shell).
- Log into the database with the OPENPAGES database schema username using a database tool (i.e.: SQL*Plus, clpplus, etc).
- Run the following SQL to verify what entries are in the rps_prop_auto_exclude table:
- Run the following SQL where you replace <field-group> and <field-name> with the appropriate values:
- Repeat the INSERT statements for any additional fields.
- Once the INSERTS statements have been executed, verify that the rps_prop_auto_exclude has been updated by running the SELECT statement again.
- Restart the OpenPages services.
SELECT bundlename, name FROM propertydefs WHERE propertydefid IN (SELECT propertydef_id FROM rps_prop_auto_exclude); |
Syntax: INSERT INTO rps_prop_auto_exclude (PROPERTYDEF_ID) SELECT PROPERTYDEFID FROM propertydefs WHERE bundlename = '<field-group>' AND name = '<field-name>'; COMMIT; |
Sample: INSERT INTO rps_prop_auto_exclude (PROPERTYDEF_ID) SELECT PROPERTYDEFID FROM propertydefs WHERE bundlename = 'CompanyABC-LossEvent' AND name = 'Is this Loss Event Related to Multiple Issues'; COMMIT; |
For OpenPages 6.x environments and higher, the following administrator steps need to also be executed:
- Open a supported browser.
- Go to the OpenPages URL.
- Login with an administrator id.
- Using the navigation menubar, go to: Administration -> Object Types.
- Select the Object Type that you are having the issue with from the logs.
- Scroll down to the 'Field Exclusions' area.
- Select the 'Exclude' button.
- Select the property in the 'Select Field' section that you want to exclude, and then select "Reporting Framework" in the 'Select Subsystem' area.
- When you are finished, select the 'Exclude' button.
- Once the fields have been excluded, the OpenPages administrator should kickoff the framework generation.
Related Information
Historical Number
00001101
Was this topic helpful?
Document Information
Modified date:
15 June 2018
UID
swg21513620