在windosw虚拟机server2012上安装Oracle数据库后,远程连接失败,报 java.sql.SQLException: The Network Adapter could not establish the connection 错误,然后尝试解决。
1.先在防火墙上配置入站规则,开放1521端口。
2.然后telnet server_ip 1521 还是报连接失败,因为虚拟机的ip是配置的内网ip,telnet 127.0.0.1 1521 和telnet localhost 1521 竟然是通的,但是程序里test测试oracle数据库连接还是不通,之前一直用的linux版本的oracle,很少出现这种问题。
3.然后想到查看Oracle的配置文件,打开路径 D:\Oracle\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora 文件,尝试将下图中的host改成电脑名竟然成功了,原来是localhost。
贴上简单的jdbc测试代码:
import java.sql.Connection; import java.sql.DriverManager; public class JabcTest { public static void main(String[] args) { String driverName = "oracle.jdbc.OracleDriver"; String dbURL = "jdbc:oracle:thin:@172.19.57.246:1521:orcl"; String userName = "scott"; String userPwd = "tiger"; try { Class.forName(driverName); Connection dbConn = DriverManager.getConnection(dbURL, userName,userPwd); System.out.println("连接数据库成功"); } catch (Exception e) { e.printStackTrace(); System.out.print("连接失败"); } } }