How do I set nls_length_semantics=CHAR when recompiling packages?

Claus Pedersen

Member³
The database of one of our customers is set to use a multibyte character set. For some reason the database is also set to use nls_length_semantics=BYTE.

I have a package that is compiled with nls_length_semantics=CHAR.

The package is invalidated, so I use PLD to recompile invalid objects. As the database uses BYTE semantics, the database package is now compiled using BYTE, i.e. I can no longer save an character with an ascii value exceeding 128 into an varchar2(1).

Is the some setting in PLD So I can make sure that all new sessions area created using nls_length_semantics=CHAR (like login.sql in a command window) ?

Code:
alter session set nls_length_semantics=CHAR
Can anyone help me on this?
 
Maybe you could try to place the "alter session..."
either in "AfterConnect.sql" or "Login.sql". If they are not there
you have to create them in the plsd directory.
 
Back
Top