最近在开始的drp学习中开始oracle的学习。
在敲代码中发现了一个很有意思的现象
在数据库配置文件中可以有两种写法
jdbc:oracle:thin:@192.168.xx.123:1521:ORCL和jdbc:oracle:thin:@localhost:1521:ORCL
在连接过程中,如果使用ip地址就无法连接上数据库,只有使用localhost才能连接上。
之前在使用sql server时从未遇到过这种问题,在将代码仔仔细细地检查过一遍,确认自己的oracle实例名和服务没错之后,我才意识到问题原来出现在这里。
上网查了查资料,发现问题所在D:\app\sa\product\11.2.0\dbhome_1\NETWORK\ADMIN,中有一个listen.ova的文件,里面保存着监听的信息。打开文档,我发现默认配置为localhost
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = D:\app\sa\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:D:\app\sa\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
ADR_BASE_LISTENER = D:\app\sa
将配置名修改为ip地址或者计算机名就可以解决问题。