3

在 Spring boot 应用中,需要配置 Oracle RAC DB URL。有人可以解释如何在 application.properties 中配置 Oracle RAC URL 吗?

jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL={PROTOCOL})(HOST={{URL})(PORT={PORT})))(CONNECT_DATA=(SERVICE_NAME={SERVICE_NAME})))

已经验证了 Spring boot 官方文档,没有发现任何相关的东西。即使在 Common Properties 中验证,也找不到任何参考。

https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html

提前感谢您的帮助!

4

2 回答 2

0

试试下面。

jdbc:oracle:thin:@(DESCRIPTION=
    @    (LOAD_BALANCE=on)
    @    (ADDRESS=(PROTOCOL=TCP)(HOST=host1) (PORT=1521))
    @    (ADDRESS=(PROTOCOL=TCP)(HOST=host2)(PORT=1521))
    @    (CONNECT_DATA=(SERVICE_NAME=service_name)))

或者

# Oracle settings
spring.datasource.url=jdbc:oracle:thin:@localhost:1522:orcl
spring.datasource.username=HIBERNATE_TEST
spring.datasource.password=HIBERNATE_TEST
spring.datasource.driver.class=oracle.jdbc.driver.OracleDriver

或者

jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=OFF)(FAILOVER=ON)
(ADDRESS=(PROTOCOL=TCP)(HOST=tst-db1.myco.com)(PORT=1604))
(ADDRESS=(PROTOCOL=TCP)(HOST=tst-db2.myco.com)(PORT=1604)))
(CONNECT_DATA=(SERVICE_NAME=mydb1.myco.com)(SERVER=DEDICATED)))

资料来源:

https://docs.oracle.com/cd/E57185_01/EPMIS/apbs01s01.html

https://dzone.com/articles/configuring-spring-boot-for-oracle

于 2018-11-10T05:40:43.210 回答
0

这是我在我的项目中连接到 postgres 所做的,它现在正在生产中。对于 Oracle,它是完全一样的。实际上对于任何其他 RDBMS。

在 spring boot 项目的 application.yml 或 application.properties 中添加属性。

以下是 yml 配置。

 spring:
  jpa:
    database: POSTGRESQL
    show-sql: false
  datasource:
    platform: postgres
    url: jdbc:postgresql://123.3.4.89.com:1234/DatabaseName
    username: user123
    password: pass123
    driver-class-name: org.postgresql.Driver
    testWhileIdle: true
    validationQuery: SELECT 1

然后将驱动程序添加到您正在使用的构建工具的 pom 或 gradle 构建文件中。还有spring boot的jpa jar。

这是 build.gradle 文件中的条目。

compile ('org.springframework.boot:spring-boot-starter-data-jpa')
compile group: 'org.postgresql', name: 'postgresql', version: '42.2.2'

就是这样,现在您可以创建存储库并开始在 Db 中推送和获取数据。

希望这会有所帮助,干杯!

于 2018-11-10T06:13:17.063 回答