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) ?
Can anyone help me on this?
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