ORA-29275 partial multibyte character How to find which record causes this error message in a table during select.

"ORA-29275 partial multibyte character. Cause: The requested read operation could not complete because a partial multibyte character was found at the end of the input.
Action: Ensure that the complete multibyte character is sent from the remote server and retry the operation. Or read the partial multibyte character as RAW."
 What is read as RAW? How to do it? After a lot of experiments and tryings I have fixed the damaged field and record. select TITLE from Table WHERE REC_KEY=348;
Unfortunately in the Table is more such damaged records. The DB code is UTF-8. Field TITLE   - VARCHAR2 (100 Byte). There is an application, which enables to change field TITLE manually in given REC_KEY, but I dont know what in the field is wrong. How can I fix it? How can I fix the number of records which cause  ORA-29275 partial multibyte . How can I select is as RAW (as adviced in message, to read how?). Many thanks for help.


SmilauerAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
oleggoldConnect With a Mentor Commented:
look here:
http://students.mimuw.edu.pl/oracle10g/server.101/b10744/e29250.htm
To find record,check the database alert log
for raw use utl_raw:
http://www.psoug.org/reference/utl_raw.html
Try this:
 utl_raw.bit_complement(r IN RAW) RETURN RAW;
SELECT utl_raw.bit_complement('0102F3')
FROM dual;  
0
 
sujith80Commented:
Can you reproduce the scenario by inserting new records into the table?

It should be fixed by changing your column to NVARCHAR2 (100).
0
 
SmilauerAuthor Commented:
Hi Oleggold,
many thanks for you answer. You have inspired me to perform
"select utl_raw.cast_to_raw(TITLE) from TABLE where REC_KEY=348;" which gives UTF-8 code:
"5A7573C3A4747A6C6963686520546563686E6973636865205665727472616773626564696E67756E67656E20756E642052696368746C696E69656E2066C3BC7220646965204865727374656C6C756E6720766F6E20466168726261686EC3BC62657267C3"
The text in the column TITLE is (german):
"Zusätzliche Technische Vertragsbedingungen und Richtlinien für die Herstellung von Fahrbahnübergängen......"
The type of the column TITLE is VARCHAR2(100) coding UTF-8. The last letter "ä"  from "Fahrbahnübergängen" has UTF-8 code "C3 BC" and is  broken, only first half" C3" is read from the row,  the second one is cut off. The mattter is clear: "The ORA-29275 partial multibyte" occurs when first part of the UTF-8 coding begins on 100-th position and the second part is missing. I cannot change the column definition VARCHAR2(100) because I do not have the premission ALTER TABLE, it is comercial library system (Aleph).  How to avoid this akward situation when some of the records hamper to perform  simple "select * from TABLE"?   The alert log  did not mention this failure.





ü
0
All Courses

From novice to tech pro — start learning today.