Hi,
I have some php scripts to access an Oracle database using stored procedures. When I access a development database everything runs fine. When I access the production database I get errors PLS-00553: character set name is not recognized ORA-06550.
The problem seems to be related to NLS. So in the beginning of the script I've put :
putenv("ORACLE_BASE=/u01/app/oracle") ;
putenv("ORACLE_HOME=/u01/app/oracle/product/8.1.7");
putenv("ORA_NLS33=/u01/app/oracle/product/8.1.7/ocommon/nls/admin/data/") ;
putenv("ORACLE_SID=MYSID") ;
putenv("NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1") ;
But the error continues. The production database has the following parametes (select * from nls_database_parameters)
'NLS_LANGUAGE','AMERICAN'
'NLS_TERRITORY','AMERICA'
'NLS_CURRENCY','$'
'NLS_ISO_CURRENCY','AMERICA'
'NLS_NUMERIC_CHARACTERS','.,'
'NLS_CHARACTERSET','WE8ISO8859P1'
'NLS_CALENDAR','GREGORIAN'
'NLS_DATE_FORMAT','DD-MON-RR'
'NLS_DATE_LANGUAGE','AMERICAN'
'NLS_SORT','BINARY'
'NLS_TIME_FORMAT','HH.MI.SSXFF AM'
'NLS_TIMESTAMP_FORMAT','DD-MON-RR HH.MI.SSXFF AM'
'NLS_TIME_TZ_FORMAT','HH.MI.SSXFF AM TZH:TZM'
'NLS_TIMESTAMP_TZ_FORMAT','DD-MON-RR HH.MI.SSXFF AM TZH:TZM'
'NLS_DUAL_CURRENCY','$'
'NLS_COMP','BINARY'
'NLS_NCHAR_CHARACTERSET','WE8ISO8859P1'
'NLS_RDBMS_VERSION','8.1.7.0.1'
My development database has the following settings :
SQL> select * from nls_database_parameters;
PARAMETER VALUE
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET US7ASCII
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZH:TZM
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZH:TZM
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_NCHAR_CHARACTERSET US7ASCII
NLS_RDBMS_VERSION 8.1.7.0.1
Thanks.