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?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

oleggoldCommented:
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

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
SujithData ArchitectCommented:
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
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Oracle Database

From novice to tech pro — start learning today.