我注意到 ORACLE_HOME 和参数替换之间的奇怪交互。这是我的test.sql
prompt &1
prompt &2
prompt &3
prompt &4
exit
预期的行为:
C:\cygwin64\home\rejap\subst>sqlplus /nolog @test.sql one two three four five
SQL*Plus: Release 12.2.0.1.0 Production on Sun Jun 16 15:19:16 2019
Copyright (c) 1982, 2017, Oracle. All rights reserved.
one
two
three
four
C:\cygwin64\home\rejap\subst>
然而,当 ORACLE_HOME 被设置时,事情变得有趣了
C:\cygwin64\home\rejap\subst>set ORACLE_HOME=c:\Program Files (x86)\Oracle\product\12.2.0\client_1
C:\cygwin64\home\rejap\subst>sqlplus /nolog @test.sql one two three four five
SQL*Plus: Release 12.2.0.1.0 Production on Sun Jun 16 15:21:25 2019
Copyright (c) 1982, 2017, Oracle. All rights reserved.
Files
(x86)\Oracle\product\12.2.0\client_1\sqlplus\admin\glogin.sql
three
four
C:\cygwin64\home\rejap\subst>
我在这里错过了一些基本的东西吗?
根本不设置 ORACLE_HOME 有什么负面影响吗?
将 ORACLE_HOME 指向符号链接有什么负面影响吗?
c:
cd \
mklink /D oracle c:\Program Files (x86)\Oracle
set ORACLE_HOME=c:\oracle\product\12.2.0\client_1
当然,我有兴趣解释正在发生的事情。