我已经创建了一个jsp程序,并在tomcat docker中添加了它,而在本地桌面上进行测试时却遇到了异常。
java.sql.SQLRecoverableException:IO错误:网络适配器可能 无法建立连接。
我正在使用oracle数据库12c泊坞窗。
首先,我在堆栈文件下面创建了一个文件。
堆栈文件:
version: "3.7"
services:
oracle:
image: sath89/oracle-12c:latest
ports:
- "8080:8080"
- "1521:1521"
stop_grace_period: 1m0s
deploy:
replicas: 1
restart_policy:
condition: on-failure
max_attempts: 3
networks:
- fronter
jsp:
image: bitroid/jsp-db-docker
ports:
- "8888:8080"
networks:
- fronter
depends_on:
- oracle
deploy:
replicas: 1
restart_policy:
condition: on-failure
max_attempts: 3
networks:
fronter:
在创建了上面的堆栈文件后,我使用下面的命令在本地系统中部署docker。
$ docker stack deploy jsp_oracle -c pwdcmdstack.yml
并且在部署后,我使用以下脚本配置了oracle数据库docker。
docker exec -it --user root jsp_oracle_oracle.1.zqz4r7k4x1cxdagh9fj415u5p /bin/bash -c "apt-get update -y;apt-get install git -y --force-yes"
docker exec -it --user root jsp_oracle_oracle.1.zqz4r7k4x1cxdagh9fj415u5p /bin/bash -c "git clone https://github.com/hemanth22/Oracle_database.git"
docker exec -it --user root jsp_oracle_oracle.1.zqz4r7k4x1cxdagh9fj415u5p /bin/bash -c "chmod -R 777 Oracle_database;cd /Oracle_database;ls -la"
docker exec -it --user oracle jsp_oracle_oracle.1.zqz4r7k4x1cxdagh9fj415u5p /bin/bash -c "netstat -nlpt"
docker exec -it --user oracle jsp_oracle_oracle.1.zqz4r7k4x1cxdagh9fj415u5p /bin/bash -c "ls && cd Oracle_database && ls && bash login.sh"
您能检查一下并提出建议如何乘坐java.sql.SQLRecoverableException
感谢和问候, 灵气。
答案 0 :(得分:0)
原因:
当Oracle服务器上的防火墙存在某些问题时,会发生此错误。
解:
为解决此问题,请确保防火墙从网络的两侧都打开,即Oracle数据库应该能够连接回ambari-server。并且在操作系统上,确保iptables或防火墙已停止或允许端口1521上的通信。