Solved

ORA 12705

Posted on 2004-10-05
6
1,749 Views
Last Modified: 2008-01-09
Hi,
I'm working on a Windows 2003 server trying to connect to an Oracle database on a 2000 server and all was working fine.  I've been trying to get PHP to work with IIS6 and changing some settings in Windows and IIS and all of a sudden I can't get an Oracle connection at all through enterprise manager or the net configuration assistant.  I get the error:  Ora 12705 Invalid or unknown NLS parameter value specified.

I get the same error when connecting to a different database also.

Both database connections worked before.  I have tried changing the registry entry for NLS but that didn't make any difference,  It is set as ENGLISH_UNITED KINGDOM.WE8MSWIN1252 which is the same as another machine that connects just fine.

Perhaps even more stragely I can connect in SQL Plus just as before and query the database with no problems.

Any ideas?
0
Comment
Question by:djguvnor
  • 3
6 Comments
 
LVL 47

Expert Comment

by:schwertner
ID: 12224650
When there are several Oracle Installations (eg: Oracle Developer and Oracle Server Enterprise Edition) on your machine, then check which HOMEn value is being used. The entry in the Oracle.Key-File, which can be found in the $ORACLE_HOME\bin directory will point you to the correct entry in the Registry. See also 1.3d)
Once you have determined the value for the HOMEn, open the registry with the registry editor (eg: regedit), then go to
HKEY_LOCAL_MACHINE -> SOFTWARE -> ORACLE -> HOMEn
HOMEn, is the value you took out of the Oracle.Key-File (eg: HOME2)
The next time you startup your application, the new value should be taken. If you have an open DOS-Box, the box has to be closed and reopened in order to get the new registry value.
To check if you have set an environment variable click on the START button, the choose SETTINGS -> CONTROL PANEL -> SYSTEM ->
Depending on your version goto:
Win2000: Advanced -> Environment Variables
WinNT: Environment
0
 
LVL 1

Author Comment

by:djguvnor
ID: 12224669
I've read this tip before!  :)

There's only the Oracle client on there and when I installed it it worked fine.  When it broke I tried uninstallig and installing again but I'm still getting the same problem.  In the registry there is only one oracle home home0 and I checked the NLS Lang value which seems right as above (matches the one on another machine that connects fine)

There is nothing in the environment variables that looks relevent.  What should be there?
0
 
LVL 1

Author Comment

by:djguvnor
ID: 12226018
Ok, the OCI functions provide a little more info.  When running a script to connect to the server I get the following output...

OCIDebug: _oci_open_server new conn=0 dname=So
nia
PHP Warning:  ocilogon(): OCISessionBegin: ORA-12705: invalid or unknown NLS par
ameter value specified
 in c:\inetpub\wwwroot\egov\oratest\oratest.php on line 6
OCIDebug: _oci_open_session: FAILURE -> CLEANUP called
OCIDebug: START _oci_close_session: logging-off sess=0
OCIDebug: _oci_close_session: logging-off DEAD session
OCIDebug: oci_do_connect: FAILURE -> CLEANUP called
OCIDebug: START _oci_conn_list_dtor: id=0
OCIDebug: END   _oci_conn_list_dtor: id=0
Oracle Connect Error OCIDebug: START php_rshutdown_oci
OCIDebug: END   php_rshutdown_oci
OCIDebug: START _oci_close_server: detaching conn=1 dbname=Sonia
OCIDebug: START php_mshutdown_oci
OCIDebug: END   php_mshutdown_oci
0
 
LVL 1

Author Comment

by:djguvnor
ID: 12226863
Solved it.  There were 2 registry keys call NLS_LANG which had "NA" as their value.  I deleted them both and now it works.  :)
0
 

Accepted Solution

by:
modulo earned 0 total points
ID: 12653404
PAQed with points refunded (200)

modulo
Community Support Moderator
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Join & Write a Comment

Working with Network Access Control Lists in Oracle 11g (part 2) Part 1: http://www.e-e.com/A_8429.html Previously, I introduced the basics of network ACL's including how to create, delete and modify entries to allow and deny access.  For many…
Configuring and using Oracle Database Gateway for ODBC Introduction First, a brief summary of what a Database Gateway is.  A Gateway is a set of driver agents and configurations that allow an Oracle database to communicate with other platforms…
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, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.

746 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

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now