The 8184 error is associated with a SQL INSERT Statement trying to update a field in the trend (fathom) database that has a SQL width that is not able to accommodate the data trying to be inserted into the field. In order to identify which field has the SQL Width issue do the following:
- Make a copy of the SQL statement in the admserv.log file.
- If the statement has double quotes (""), change them to a single quote.
- Backup the existing trend database for testing purposes. Example: probkup online /usr/oemgmt/db/fathom fathom.copy
- Restore the backup to a new name for testing purposes: Example: prorest testdb fathom.copy
- Start the database so as to be able to connect to the database to test the SQL INSERT statement. Example: proserve testdb -S 9999 (port number to use to connect to the db).
- sqlexp testdb -S 9999 -user trending -password trending (or whatever the user name is for the trending database)
- Once at an sqlexp prompt, the SQL statement can be pasted, altered and tested to identify which part of the statement (field) is experiencing the width issue.
Another way to identify the field with the issue is to access the database:
- mpro testdb (if the db is still being served).
- In the Procedure editor, go into the Data Dictionary -> Schema -> Adjust Field Width -> Select the table name that the SQL INSERT statement is loading data into.
- Compare the existing field width size for each of the fields to the size of the data that is trying to be inserted into that field via the SQL INSERT statement.
Once the field with the problematic width size is identified, modify the size in the real trend database (ie not the copy we are working with in this article) to accommodate the size of the data being inserted. See article: 000020504, Character string is to long (8184) when SQL-WIDTH / MAX-WIDTH is smaller than field being updated
for additional information on how to change the SQL Width.