facebook

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

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

    zartc
    Member

    Hello,

    I’m trying to connect to our Oracle 9i (9.2.0) database using the DB Browser.
    I have configured the “Oracle Thin Driver” in the preferences.
    The driver Librairie tab contains a path to the ojdbc14.jar that I downloaded from OTN.
    The Driver Class Name is “oracle.jdbc.OracleDriver” as recommended in the Oracle release note.
    The URL used in the Database profile is “jdbc:oracle:thin:@172.17.52.55:1521:BIMAT” which seem correct.
    I have set the user name and the password and unchecked the “Prompt for password”.

    When I try to open a connection I have the following error and I have absolutely no idea what is causing it.

    Please can you help me ?
    At least indicate me if its a missconfiguration in our Databse server or if I missed a librarie or a properties file or something.

    !ENTRY com.genuitec.eclipse.sqlexplorer 4 4 2005-11-17 17:38:59.265
    !MESSAGE Error while trying to login to database
    !STACK 0
    java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1
    ORA-12705: invalid or unknown NLS parameter value specified

    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:283)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:278)
    at oracle.jdbc.driver.T4CTTIoauthenticate.receiveOauth(T4CTTIoauthenticate.java:785)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:362)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:414)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
    at net.sourceforge.squirrel_sql.fw.sql.SQLDriverManager.getConnection(SQLDriverManager.java:99)
    at com.genuitec.eclipse.sqlexplorer.actions.LoginProgress$Login.run(LoginProgress.java:43)
    at java.lang.Thread.run(Unknown Source)

    #241717 Reply

    Brian Fernandes
    Moderator

    Zartc,

    Looks like your NLS_LANG value isn’t supported as the error message says. Can you try starting eclipse like so and see if it works?

    eclipse -vmargs -Duser.language=en -DNLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1 -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M

    Note the NLS_LANG environment variable, the rest are our recommended startup arguments for MyEclipse.
    There is also a list of supported values here: http://www-rohan.sdsu.edu/doc/oracle/server803/A54632_01/apd.htm

    Hope this helps,
    Best,
    Brian.

    #242076 Reply

    I had the same problem, and I discover that I have to change my regional settings on Windows XP.
    For Windows XP:
    To check the system locale: Open the Control Panel. Go to Regional and Language Options. Change language in Regional Options tab and set it to English (UnitedStates).
    After that in Help>About Eclipse SDK>Configuration Details I have these settings :
    osgi.nl=en_US
    user.language=en

    Restart Ecplise and try to connect to DB 😀

    #242081 Reply

    Brian Fernandes
    Moderator

    csystem,

    The solution I mentioned above should work without requiring a change in regional settings.

    Still, thank you for following up with your experience, it will help other users yet.

    Best,
    Brian.

    #242292 Reply

    kingho
    Member

    Brian,

    I am having the same problem. I am using XP with Language in Region and Language Options set to Chinese (Taiwan).

    Adding the -DNLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1 to the command line did not work for me.

    To get it to work, I have to do as csystem said and change the language to English (US).

    Best Regards,

    King

    #242293 Reply

    Brian Fernandes
    Moderator

    King,

    Thank you for following up. Additional question, did you include -Duser.language=en in your command line too? In retrospect, that seems as important as the -DNLS_LANG flag.

    Best,
    Brian.

    #242294 Reply

    kingho
    Member

    Brian,

    Thanks for your quick reply!!

    This is the command line I tried to use but still failed to connect to the oracle database server:

    C:\eclipse-3.1\eclipse.exe -DNLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1 -vm c:\progra~1\java\jdk15~2.0_0\bin\javaw.exe -vmargs -Duser.language=en -Xms256M -Xmx512M -XX:PermSize=128M -XX:MaxPermSize=256M

    By the way, I am using MyEclipse 4.03GA and eclipse 3.1.

    Thanks!

    Best Regards,

    King

    #242295 Reply

    kingho
    Member

    Brian,

    I should have mentioned that I have also tried the following and failed:

    C:\eclipse-3.1\eclipse.exe -vm c:\progra~1\java\jdk15~2.0_0\bin\javaw.exe -vmargs -Duser.language=en -Xms256M -Xmx512M -XX:PermSize=128M -XX:MaxPermSize=256M -DNLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1

    That is, moved the -DNLS_LANG to the back of the command line.

    Thanks.

    King

    #242296 Reply

    Brian Fernandes
    Moderator

    King,

    You need to change your command line string to

    
    C:\eclipse-3.1\eclipse.exe -vm c:\progra~1\java\jdk15~2.0_0\bin\javaw.exe -vmargs -Duser.language=en -DNLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1 -Xms256M -Xmx512M -XX:PermSize=128M -XX:MaxPermSize=256M 
    

    Since the NLS_LANG variable must got to the JVM, not eclipse, you have to place it after the -vmargs switch.

    Best,
    Brian.

    #242297 Reply

    Brian Fernandes
    Moderator

    King,

    Okay, puttting it at the end will do too.

    Are you seeing exactly the same exception as the first poster? Also, can you check what the value of this registry string is \HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\NLS_LANG.

    Best,
    Brian.

    #242298 Reply

    kingho
    Member

    Brian,

    Yes, I am seeing the exact exception as the first poster and the error from the .log file is the same.

    My registry don’t have the \HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\NLS_LANG set. Actually, it doesn’t have \HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE as I have not install any oracle software other than the thin client that I am using.

    Thanks.

    Best Regards,

    King

    #242300 Reply

    Brian Fernandes
    Moderator

    King,

    Re: Registry string, I didn’t realize that would most likely be set only for the machine on which oracle is actually installed. Please ignore.

    Are you using the latest Oracle drivers? I was told they improved error reporting, perhaps the exception logged will be a little more descriptive as to what NLS value is being used after all.

    If you find anything let us know, otherwise I would suggest you continue with your previous solution (changing the system language to english) and I’ll file this issue for investigation and try to replicate the issue locally.

    Thank you for following up, I appreciate your patience 🙂
    Best,
    Brian.

    #242301 Reply

    kingho
    Member

    Brian,

    The driver that I am using is 10.2.0.1.0, I think is the latest.

    To get more output, I think I need to switch to the one with debug enable. I’ll see if I can get more information from it.

    Thanks!

    Best Regards,

    King

    #243181 Reply

    antoine
    Member

    I’ve got the same pb and this driver (oracle14.jar) used to work in 4.0GA and doesn’t work anymore since I’m using 4.1M1 (the same for M2) (cant’ remember if it worked in 4.03GA)
    I revert to old oracle driver classes12.jar to use db explorer.

    Any clue to correct this ?

    Thanks

    #243182 Reply

    Brian Fernandes
    Moderator

    Antoine,

    Nothing in this area has changed – so it’s odd that you see the problem after migrating from GA to 4.1. If it isn’t too much trouble, could you reconfirm that it works for you currently in 4.0GA? Perhaps some system settings have changed due to some other software installed?

    Did you try either of the suggestions listed in this thread?

    Just confirming your statements, please correct me if I’m wrong.
    oracle14.jar worked in 4.0GA but not 4.1, but your older driver – classes12.jar works in both. Am I right?

    Could you please tell me where you downloaded the driver from – the default name seems to be ojdbc14.jar.

    Best,
    Brian.

Viewing 15 posts - 1 through 15 (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