Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

NES 3.6, Livewire and ORA-12705 error

Posted on 1999-08-02
4
Medium Priority
?
1,260 Views
Last Modified: 2008-02-20
Hello,

I'm running Netscape Enterprise Server 3.6 on Solaris 2.6, an Oracle 8 database on a second Solaris machine and various Livewire Apps connecting to the Oracle database.

A couple a days ago we reorganized our database and changed the character set to ISO-8859. Since then, connecting to the database from a Livewire application results in an "ORA-12705" error ("invalid or unknown NLS parameter value specified") from the database.

ORACLE_HOME, ORA_NLS33, NLS_LANG, TWO_TASKS, etc. is set correctly; there are no problems connecting to the server with SQLPLUS with the same environment variables.

Unsetting NLS_LANG in the NES "start" scripts makes the error go away, but then special characters are not displayed correctly.

Any idea, what's going wrong here?

(This question is perhaps too Netscape-specific for this section, but maybe one of you has experience with Livewire Applicatons too.)

Regards,
-- josef@schnall.de
0
Comment
Question by:sepp051497
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
4 Comments
 
LVL 2

Expert Comment

by:avico
ID: 1087956
Perhaps the Livewire app. holds an NLS_LANG of itself, and changes it as it tries to connect.
0
 
LVL 3

Expert Comment

by:doronla
ID: 1087957
What is the exact characterset of the DB?
I suggest u select dirctly from the sys.props$ to ensure your answer.
If you find out that you have WE8ISO8859P1 or something very similar, then the NLS_LANG at the client should contain: American_America.WE8ISO8859P1 (or similar...). Be sure that the NLS_LANG var is set, and contain the right value.

Good Luck

0
 

Author Comment

by:sepp051497
ID: 1087958
doronla,

here are the system properties of the database:

NLS_LANGUAGE             AMERICAN            
NLS_TERRITORY            AMERICA            
NLS_CURRENCY            $            
NLS_ISO_CURRENCY            AMERICA            
NLS_NUMERIC_CHARACTERS      .,            
NLS_CALENDAR            GREGORIAN      
NLS_DATE_FORMAT            DD-MON-YY      
NLS_DATE_LANGUAGE         AMERICAN            
NLS_CHARACTERSET            WE8ISO8859P1      
NLS_SORT                  BINARY            
NLS_NCHAR_CHARACTERSET        WE8ISO8859P1      
NLS_RDBMS_VERSION      8.0.5.0.0            

Before starting Netscape, I include a shell script, that look's like this:

ORACLE_HOME=/home/oracle/app/oracle/product/8.0.5; export ORACLE_HOME;
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN;
LD_LIBRARY_PATH=/usr/lib:/usr/local/lib:$ORACLE_HOME/lib; export LD_LIBRARY_PATH;
ORACLE_TERM=sun; export ORACLE_TERM;

ORACLE_SID=BPI; export ORACLE_SID;
TWO_TASK=dbserver; export TWO_TASK;

ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data; export ORA_NLS33;
NLS_LANG=GERMAN_GERMANY.WE8ISO8859P1; export NLS_LANG;

PATH=$PATH:$ORACLE_HOME/bin; export PATH;


I have tried various NLS_LANGs, but they all resulted in an ORA-12705 error. I assume, that Netscape Server somehow overrides the NLS_LANG or needs a special NLS_LANG, but I have found nothing about that in the documentation nor on the Internet.

Is there a way to redefine the character set in a session, so a could unset NLS_LANG env variable and set the charset explicitely before committing a SELECT that returns special characters? Or are there any other ways to define the character set like "patching" some data dictionary tables?

Regards,
-- Josef
0
 

Accepted Solution

by:
ashyamra earned 600 total points
ID: 1087959
Versions Affected
~~~~~~~~~~~~~~~~~
  This issue affects Oracle 8.0 and Oracle7 clients connecting to an
  Oracle8 or Oracle8i database where the database character set is one
  that the client does not understand (such as WE8ISO8859P15).

 
Platforms Affected
~~~~~~~~~~~~~~~~~~
  This issue is GENERIC and can affect any platform.

 
Description
~~~~~~~~~~~
  If an Oracle8 or Oracle8i database is created with a character set which is
  NOT known to Oracle8.0 / Oracle7 clients connecting to it then various errors
  or strange results may be seen in the client application. This is possible
  where the installed server release is NEWER than the client software and
  includes new character sets not present in the earlier release/s. If a
  database is created using such a character set then the earlier clients
  will encounter problems. The errors seen in the client are quite obvious,
  eg: DESCRIBE of a table in SQLPLUS reports an ORA-1460 error


Likelihood of Occurrence
~~~~~~~~~~~~~~~~~~~~~~~~
  The most likely scenario is where the database is created with a new
  character set such as WE8ISO8859P15 to allow the "Euro" symbol to be used,
  but other character sets can also show problems.
 
  Problems will be apparent within any client that does not understand the
  database character set. Character sets which cause this problem include:

        WE8ISO8859P15
        EE8EBCDIC870S  

  Please note: It is possible to see similar problems to those described here
               when the client does not have the ORA_NLS33 / ORA_NLS32
               environment variable set correctly.
               This alert relates specifically to character sets that the
               client does not understand.
 
 
Possible Symptoms
~~~~~~~~~~~~~~~~~
  There are many symptoms due to this problem. The most likely symptoms are:

  - ORA-1460 "unimplemented or unreasonable conversion requested" errors
    (Eg: SQLPLUS may report:
         Error accessing package DBMS_APPLICATION_INFO
         ERROR: ORA-1460 "unimplemented or unreasonable conversion requested")

  - white space may appear between selected column data

  - various errors or strange results from Enterprise Manager when attempting
    to administer an Oracle8i database.

 
Workaround
~~~~~~~~~~
  The only workarounds at present are:

        a) Create the database in a character set that the client does know
           about.
           Eg: It is possible to use the character set WE8MSWIN1252 in
               place of WE8ISO8859P15 for the database character set.
   OR
        b) Use an Oracle8i or 8.0.6 client


 Server Character Set
 ~~~~~~~~~~~~~~~~~~~~
  You can check the database character set of a database using the SQL:

        SELECT * FROM NLS_DATABASE_PARAMETERS
         WHERE parameter = 'NLS_CHARACTERSET'
        ;

 Checking Client support for a Character Set
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  You can check if a client installation supports a particular character set
  by setting the NLS_LANG environment variable appropriately and connecting
  to an existing database. This method is valid for the Oracle Client versions
  7.3 and higher.

  Eg:   To check if a client installation supports WE8ISO8859P15:

        On Unix: NLS_LANG=american_america.WE8ISO8859P15; export NLS_LANG
        On NT:   Set NLS_LANG to AMERICAN_AMERICA.WE8ISO8859P15 in the
                 registry.

        Attempt to connect to a database using SQL*Plus. If the client
        reports an ORA-12705 error then the client installation
        does not know about the specified character set.
 
        Please note:  ORA-12705 will also be reported if the language
        or the territory part of the NLS_LANG value is misspelled.

  Note that in order to use a symbol such as the EURO then the client side
  MUST be configured correctly. See <Note:68790.1> for details of using the
  Euro symbol.

@ INTERNAL ONLY:
@   For 8.0 clients there is a possibility of copying NLS files between
@   releases. This is unsupported and not to be encouraged.
@   This is documented in the LIMITED distribution article <Note:70170.1>

 
Patches
~~~~~~~
  This alert will be updated once any patches are made available.


References
~~~~~~~~~~
  ORA-1460 errors due to incorrect ORA_NLS* setting  
0

Featured Post

 [eBook] Windows Nano Server

Download this FREE eBook and learn all you need to get started with Windows Nano Server, including deployment options, remote management
and troubleshooting tips and tricks

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article started out as an Experts-Exchange question, which then grew into a quick tip to go along with an IOUG presentation for the Collaborate confernce and then later grew again into a full blown article with expanded functionality and legacy…
Cursors in Oracle: A cursor is used to process individual rows returned by database system for a query. In oracle every SQL statement executed by the oracle server has a private area. This area contains information about the SQL statement and the…
Via a live example show how to connect to RMAN, make basic configuration settings changes and then take a backup of a demo database
This video shows how to recover a database from a user managed backup

715 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question