|
|
|||||||||
|
|||||||||
| |||||||||
|
|
|
| |||||||||
![]() |
|
|
«
Previous Thread
|
Next Thread
»
|
Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
Hi all,
we had a database which its nls_characterset was WE8MSWIN1252 so we could not save non-Latin data there so we reinstall it with AL32UTF8 characterset. We run a script that creates all structures and procedures and ....But now when we try to do an insert in a varchar2(30) or char(18) column it raises ORA-12899 error and says the value is too long for this column! we haven't had this before with english data so I think it is because of greater storage for unicode characters.I tried to change NLS_LENGTH_SEMANTICS in system and session level but no chance! same error we see more and more! I am running 10gR1 on win xp and my nls_languag AERICAN and territory is AMERICA. also ACP is 1252 and OEMCP is 720. What should i change? -Thanks very much |
|
#2
|
||||
|
||||
|
You need to read Oracle's Globalization Support Guide.
You have a varchar2(30) which allows insertion of 30 bytes, you can define it to hold 30 characters by adding the modifier to the DDL (i.e. define it as VARCHAR2(30 CHAR)) and remember that the maximum size for a VARCHAR2 field is 4000 bytes so you might declare it as VARCHAR2(4000 CHAR) but you'll be unable to insert strings longer than 1000 bytes.
__________________
My blog Tutorials about OSS databases, DBMonster ... Contribute to OSS Development, fill bug reports! Developer Shed eSupport Commented my.ini/my.cnf (ADD YOUR OWN CONFIG TRICK) An introduction to database normalization Natural or Surrogate key Custom ordering for your results Correlated and uncorrelated subqueries Don't turn your outer joins into inner joins Random data (with a bias) |
|
#3
|
||||
|
||||
|
|
![]() |
| Viewing: Dev Shed Forums > Databases > Oracle Development > Unicode problem and ORA-12899 error! |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|
|
|