We recently upgraded to 10g (using Oracle version 10.2.0.3.0).
The problem is that we're trying to enter multi-byte characters (Chinese characters) into our TGRAMS application. However, when we try to save
that text in the application, we get an "v_alltxtmstr" error (which is, according to one of our DBAs, an ora-22926 error). The changes then roll
We know that the data fields in our TGRAMS application can handle the double-byte data because we've never had this problem before.
This error seemed to occur after we upgraded to 10g.
Our application is located on a PC that has a Chinese Operating Systerm (XP) and Office 2003 (Chinese). We copy and paste the Chinese text from a Word doc into the application.
We tried typing the text as well as pasting the document into word pad first before inserting it into the application.
So, we are at a lost. Any help you could provide would be appreciated.
ORA-22926 is related to LOB data type; are you trying to store your chinese chars into a LOB column?
> oerr ORA 22926
22926, 00000, "specified trim length is greater than current LOB value's length"
// *Cause: The input length for which to trim the LOB value to is greater
// than the current length of the LOB value.
// *Action: May not need to trim the LOB value because it's already smaller
// than the trim length specified. Or, if trimming the LOB value
// really is required, use a smaller trim length.
Yes, we're trying to store the text in a character LOB column. But, I don't understand why we would get that error. I have to confirm this, but the LOB value is 2G. Surely, that's enough to hold the characters??
Look for dbms_lob.trim in your code.
As per Oracle documentation "Action: May not need to trim the LOB value because it's already smaller than the trim length specified. Or, if trimming the LOB value really is required, use a smaller trim length"
You might want to do it in your Test/UAT environment.
Thank you. I appreciate your help.