Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Mailing Lists -> Oracle-L -> Re: How do I get a value from the windows registry to set a variable
If you have more than one ORACLE_HOME on you PC/server, you can use the /v option of the reg utility to search for the one you need.
Dimitre
:o) I choose this variable name (CURR_OH) to demonstrate that this is new variable, not the ORALCLE_HOME that you already have in your environment. If you want to use it with the ORACLE_HOME you have to change it(script test.bat)
@ECHO OFF
set ORACLE_HOME=
echo The current ORACLE_HOME is %ORACLE_HOME%
:: delims is a TAB followed by a space
FOR /F "tokens=3* delims= " %%A IN ('reg query HKLM\SOFTWARE\ORACLE\ /v ORACLE_HOME') DO SET ORACLE_HOME=%%A
ECHO The NEW Oracle Home is %ORACLE_HOME%
D:\Downloads>test
The current ORACLE_HOME is
The NEW Oracle Home is C:\oracle\ora92
D:\Downloads>sqlplus /nolog
SQL*Plus: Release 9.2.0.7.0 - Production on Wed Oct 12 11:03:16 2005
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL>
Regards,
Dimitre
I'm guessing you don't have 10g and 9i installed with 10g as the home. oh.bat is your script.
C:\Scripts>oh
Oracle home is C:\oracle\ora92
C:\Scripts>sqlplus /
SQL*Plus: Release 10.1.0.4.0 - Production on Wed Oct 12 09:54:16 2005
Copyright (c) 1982, 2005, Oracle. All rights reserved.
ERROR:
ORA-12560: TNS:protocol adapter error
Enter user-name:
ERROR:
ORA-12560: TNS:protocol adapter error
Enter user-name:
ERROR:
ORA-12560: TNS:protocol adapter error
SP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus
On 10/12/05, Dimitar Radoulov <cichomitiko_at_gmail.com> wrote: Works on my PC, may be with copy/paste the delims are changing, try to adjust the value to TAB followed by a space.
Regards, Dimitre On 10/11/05, Juan Carlos Reyes Pacheco < juancarlosreyesp_at_gmail.com> wrote: Thanks a lot Dimitre, copying and pasting directly from the email don't work precisely, but the solution is there :) On 10/11/05, Radoulov, Dimitre <cichomitiko_at_gmail.com> wrote:
> Excuse me, the correct syntax is with tokens=3*(by using the asterisk we
> make sure that not only the third word is used but everything following it
> as well) and you have to set %%A (not %%B).
>
>
> @ECHO OFF
> :: delims is a TAB followed by a space
> FOR /F "tokens=3* delims= " %%A IN ('reg query HKLM\SOFTWARE\ORACLE\ /v
> ORACLE_HOME') DO SET
> CURR_OH=%%A
> ECHO Oracle home is %CURR_OH%
>
>
>
>
> Dimitre Radoulov
>
>
-- Oracle Certified Profesional 9i 10g Orace Certified Professional Developer 6i 8 years of experience in Oracle 7,8i,9i,10g and developer 6i
--
Niall Litchfield
Oracle DBA
http://www.niall.litchfield.dial.pipex.com
-- http://www.freelists.org/webpage/oracle-lReceived on Wed Oct 12 2005 - 17:14:45 CDT