HOST echo %NLS_LANG% > Y:\temp\NLS_CHAR_SESSION.lst DECLARE dbs_nls varchar2(4000); ses_nls varchar2(4000); -- file_contents VARCHAR2(32767) := ' @@Y:\temp\NLS_CHAR_SESSION.lst '; -- BEGIN -- file_contents := TRIM(replace(replace(file_contents,CHR(13),''),CHR(10),' ')); ses_nls := file_contents; SELECT a.value||'_'||b.value||'.'||c.value INTO dbs_nls FROM (select value from nls_database_parameters where parameter = 'NLS_LANGUAGE') a, (select value from nls_database_parameters where parameter = 'NLS_TERRITORY') b, (select value from nls_database_parameters where parameter = 'NLS_CHARACTERSET') c; -- IF(NVL(dbs_nls,'X') != NVL(ses_nls,'Y')) THEN IF (UPPER(dbs_nls) = 'AMERICAN_AMERICA.WE8ISO8859P1' AND UPPER(ses_nls) = 'AMERICAN_AMERICA.WE8MSWIN1252') OR (UPPER(ses_nls) = 'AMERICAN_AMERICA.WE8ISO8859P1' AND UPPER(dbs_nls) = 'AMERICAN_AMERICA.WE8MSWIN1252') dbms_output.put_line('INFO: '); dbms_output.put_line(' CHARACTERSET WE8MSWIN1252 is a binary superset of WE8ISO8859P1') dbms_output.put_line(' DATABASE:: '||dbs_nls|| CHR(10) || ' SESSION :: '||ses_nls); ELSE dbms_output.put_line('##### WARNING!!! ##############################################'); dbms_output.put_line(' The two CHARACTERSET settings are not equal !!!'); dbms_output.put_line(' DATABASE:: '||dbs_nls|| CHR(10) || ' SESSION :: '||ses_nls); END IF; ELSE dbms_output.put_line('INFO: '); dbms_output.put_line(' The two CHARACTERSET settings are equal'); dbms_output.put_line(' DATABASE:: '||dbs_nls|| CHR(10) || ' SESSION :: '||ses_nls); END IF; -- END; /