首先要感谢网文:http://www.linuxidc.com/Linux/2014-11/109686.htm,看过之后才知道根本原因
背景:
Windows 2012操作系统
Oracle 11g 服务端
问题表现:
调用OracleConnection时,抛出异常,具体如下图:
原因:
The listener.ora file's SID_LIST section may INCORRECTLY contain a "PROGRAM" line and/or an "ENVS" line for all database instances.
PROGRAM和ENVS参数的设置会导致客户端通过SID_NAME来进行连接,由此会引发ORA-28547错误
解决方法:
打开【listener.ora】文件,去除PROGRAM和ENVS,重启监听或者重启Windows