尝试连接到AWS中的数据库时发生错误

时间:2019-09-22 02:22:56

标签: spring oracle amazon-web-services amazon-ec2

我将war文件部署到了spring项目的aws上。并且我在aws上安装了oracle rds。当我尝试使用root-context.xml从本地计算机连接到AWS上的oracle rds时。有效。它可以通过我的spring项目从本地计算机连接到AWS上的oracle rds。但是当我尝试在aws上运行spring war文件时。 http://ip地址:8080它给我一条错误消息。您能帮我吗? 我已经为此苦苦挣扎了三天……任何帮助将不胜感激。

java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection

这是root-context.xml

<bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">

        <property name="driverClassName" value="net.sf.log4jdbc.sql.jdbcapi.DriverSpy"></property>

        <property name="url"
            value="jdbc:log4jdbc:oracle:thin:@database ip address on aws:1521:orcl" />
        <property name="username" value="id" />
        <property name="password" value="password" />
    </bean>

aws安全入站设置:

http tcp 80 0.0.0.0/0
custom tcp rule 8080 0.0.0.0/0
custom tcp rule 8080 ::/0
[database setting][1]

[security group][2]


  [1]: https://i.stack.imgur.com/869s0.png
  [2]: https://i.stack.imgur.com/hqaeU.png

1 个答案:

答案 0 :(得分:0)

尝试之后-创建了另一个RDS数据库,复制了现有的RDS数据库,创建了另一个VPC进行尝试,几乎没有什么需要考虑的事情(显然,它们都已记录在案,但是要找到所有这些都不是一件容易的事该信息,因为-至少就我而言-并未在一个地方进行记录:

  1. 如果您想公开访问VPC中的数据库实例,则必须启用VPC属性DNS主机名和DNS解析(也可以更改现有VPC)。
  2. 检查VPC安全组并启用数据库访问端口(如果使用标准MS SQL部署-1433)-自2013年开始以来,VPC安全组已取代RDS安全组。
  3. 彻底检查RDS DB信息中的安全组,端口和其他可能被误认的信息。
  4. 以某种方式并不明显(至少起初对我而言),但是在使用SQL Management Studio访问RDS数据库时-不要在数据库实例名称的末尾使用“:1433”或其他端口标识符。
  5. 如果以上方法均无效,请在此处提出问题,并继续谷歌搜索...:)

在此处找到的大多数信息:http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.RDSVPC.html