facebook

ORA-12705: invalid or unknown NLS parameter value [Closed]

  1. MyEclipse Archived
  2.  > 
  3. Database Tools (DB Explorer, Hibernate, etc.)
Viewing 13 posts - 16 through 28 (of 28 total)
  • Author
    Posts
  • #243194 Reply

    antoine
    Member

    Brian,

    After installing 4.1M2 my command line was :

    C:\eclipse\eclipse.exe -vmargs -Duser.language=en -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M -Dosgi.splashLocation="C:\Program Files\MyEclipse\eclipse\MyEclipseSplash.bmp"

    As my windows config is in french the JVM was taking en_FR as language code which is obviously unknow (french people are known to be poor english speakers 😉 ).

    I looked into my backups and saw that I had a different command line when I was using 4.0.
    Changing the command line to

    C:\eclipse\eclipse.exe -vmargs -Duser.language=en_US -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M -Dosgi.splashLocation="C:\Program Files\MyEclipse\eclipse\MyEclipseSplash.bmp"

    Make the whole thing work.

    It also work with fr_FR but doesn’t bring anything except loosy translated french error messages when using the driver.

    Thanks for your prompt answer

    Antoine

    #243201 Reply

    Brian Fernandes
    Moderator

    Antoine,

    That’s great. Glad you got it working and thank you for posting your solution for everyone to benefit from.

    Best,
    Brian.

    #243599 Reply

    mhavila
    Member

    I’m experiencing the same problem, but it is not related only to MyEclipse. In fact, I’m receiving the ORA-12705 error even running JDBC test cases directly on JVM command line (java).
    What I’ve discovered up to now is:

    I’ve tested Oracle JDBC driver versions 8i R3 (8.1.7.1), 9i R2 (9.2.0.5) and 10g R2 (10.2.0.1).
    All these are available for download from Oracle TechNet (OTN): otn.oracle.com

    (1) Driver 8.1.7.1 (classes12.zip + nls_charset12.zip) worked ok with all tested versions of Oracle Server (7.3.4 to 9.2.0.6, I’ve not tested on a 10g server), but it lacks some recent features, specially those related to full JDBC 2.0 and 3.0 compatibility. For instance, this version has poor support for LOB features.

    (2) Driver 9.2.0.5 (ojdbc14.jar + nls_charset12.jar) worked ok on Oracle server versions 8i and 9i (again, no test with 10g), but there are many incompatibilities and errors with the old 7.3.4, since it’s a desupported server version. This driver version has good compatibility with JDBC 2.0 and supports some features of JDBC 3.0.

    (3) Driver 10.2.0.1 (ojdbc14.jar + orai18n.jar) do not work with Oracle server 9i on UNIX, although it worked on Windows. Server versions 7 and 8i was not tested, since they are desupported for this version of driver, and I currently have no 10g server to test with. The error, when trying to estabilish a connection, is exactly that reported by others:

    java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1
    ORA-12705: invalid or unknown NLS parameter value specified

    I’ve tried many NLS configuration options, with no avail.

    #243621 Reply

    kingho
    Member

    I can confirm that using -Duser.language=en_US will make it works.

    Thanks!!!

    King

    #243622 Reply

    Brian Fernandes
    Moderator

    Mhavila,

    If none of the suggestions already in this thread work for you, I would suggest asking over at the oracle JDBC forum here:
    http://forums.oracle.com/forums/forum.jspa?forumID=99&start=0

    Best,
    Brian.

    #244861 Reply

    I’m have been struggling with the same problems with the thin driver connecting to an Oracle 8.1.7 on HP-UX from Windows 2000.

    And using -Duser.language=en_US solves it for the MyEclipse DB Browser… BUT I still get the error (ORA-12705) in a small java application where I just try to get a connection with exactly the same driver?!? And yes – I do specify -Duser.language=en_US in the launch configuration – I also tried using System.setProperty(“user.language”, “en_US”) directly in my code…

    Also – I have tried Oracles Raptor early access release 2 with the same problems…

    Then I hoped that I would somehow get some more log/trace messages if I used ojdbc14_g.jar instead of ojdbc14.jar, because Oracles download page states: “…same as ojdbc14.jar, except that classes were compiled with “javac -g” and contain some tracing information….”

    So I tried that – and guess what? I get a connection with no problem in MyEclipse DB Browser, my java application and even in Raptor (just put ojdbc14_g.jar in %RAPTOR_HOME%/jdev/lib/patches) and btw now I don’t need to specify -Duser.language=en_US.

    Slightly confused! But happy… 😀

    Best regards,
    Eyðun

    #250701 Reply

    hefter
    Member

    Hallo, did you know there are other countries in the world than america??? 😉

    Look at oracles enterprise console (v10….) menu-> object (or so) -> show/edit details -> in first tab (common) -> press button (all initial params ) -> find NLS_TERRITORY and NLS_LANGUAGE

    Use these Values in the -DNLS_LANG= string and reues the part last part .WE8ISO8859P1
    I also changed the -Duser.language= to my iso language.

    Here an example for germany: ( A small country in europe ) 😉

    “C:\Program Files\eclipse3.1.2\eclipse.exe” -vmargs -Duser.language=de -DNLS_LANG=GERMAN_GERMANY.WE8ISO8859P1 -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M

    Frank

    #251942 Reply

    After changing ini file try to run Eclipse with -clear parameter in command line. It clears the cashe. It helps. I am sure. 😀

    #253079 Reply

    antoine
    Member

    Hi,

    The NLS errors reappears in 5.0M1. I put the -Duser.language=en_US in command line but the error remains. No problem when going back to 4.1.1 with the same workspace and the same command line.

    Any clue ?

    #253201 Reply

    antoine
    Member

    I solved my problem, looking in log I saw that the system was using language=en_US_FR as locale. So I put a language=fr in the command line and the systme now use fr_FR as locale. I guess that this problem only occure for person outside speaking english countries.

    #253448 Reply

    Theface
    Member

    Don’t use param of -Duser.language is best way!

    #255972 Reply

    shari
    Member

    Hi,
    a quick update on this for all interested parties as I had to research into the very same problem and only found partial answers around.
    I am not an Oracle representative so whatever I’m saying, you cannot blame Oracle for it, and you should check for yourself if in doubt.

    This is a known bug for Oracle with 10.2.x (up to 10.2.0.1) drivers relating to mixing language and locales, e.g. en_DE or en_IT.
    Normally you can set user.language and user.country or NLS_LANG with vmargs on the Eclipse command line, but these drivers will not be able to mix a language with a territory using a particular method, which seems to be the method mostly everybody uses today 🙂
    It is declared as fixed in 10.2.0.2, for en_DE at least according to the metalink db.
    There is a patch for Oracle DBMS 10.2.0.2 on Windows available to supported customers, but it is not available as a public download as of today. I just checked and the 10.2.0.2 dist is available for public download for Linux; adventurers might want to try downloading the whole distro to extract the jdbc drivers. Check licenses carefully to understand if it’s acceptable – I’m not going to do it so I didn’t elaborate.
    People with metalink access can monitor entry #4629654 (which is specific to en_DE) and related entries to stay updated.
    Currently, the easiest workaround is downgrading to 10.1 drivers, unless you need 10.2 explicitly of course.

    Generally speaking, if you routinely update your jdbc drivers only because they become available, well my advice is simply *change habit*, and update only if you need to do it for some specific reason. Bugs are frequently solved and re-introduced, unfortunately. This particular situation is not uncommon at all.

    This said, I think MyEclipse should think about introducing support for setting language, locale and character sets option at the connection level for at least “major” databases, as this is a very common issue and for professional developers outside of USA, and it is very common to fight with mixed bags of these settings at the same time, even in the same project. It is inconvenient having to start a different instance of MyEclipse to work with different databases, considering the resources needed by MyEclipse to run smoothly, if the only way to set these parameters is on the command line.
    I understand there is no standard way to approach setting this parameters programmatically at connection open time across databases, but we’re sure the MyEclipse team can come out with a clever idea to work around this issue 🙂

    Keep up the good work!
    Davide

    #264887 Reply

    Hi,

    I freshly installed MyEclipse 5.1.0 GA and wanted to use the DB Browser to connect to an Oracle 10g XE Univ database schema.
    I’m working on an german Windows XP Pro machine.

    By default the DB Browser is not able to open the database schema… a popup provides me ORA-12705 error.
    I tried out different combinations of command line arguments (in myeclipse shortcut to eclipse.exe):
    – specification of “-Duser.language=en” failed (standard after installation)
    – specification of “-Duser.language=en_US” failed
    – specification of “-Duser.language=en -DNLSLANG=GERMAN_GERMANY.UTF8” failed
    – specification of “-Duser.language=en_US -DNLSLANG=GERMAN_GERMANY.UTF8” failed

    Leaving those parameters will open the Oracle database schema in DB Browser without an error!!!

    So, Theface’s post is best tip for me 😉

    Greetings to the MyEclipse Crew – good job!
    Martin

Viewing 13 posts - 16 through 28 (of 28 total)
Reply To: ORA-12705: invalid or unknown NLS parameter value [Closed]

You must be logged in to post in the forum log in