gpt4 book ai didi

oracle - 如何在 Grails 数据源中使用 tnsnames.ora?

转载 作者:行者123 更新时间:2023-12-02 13:50:10 26 4
gpt4 key购买 nike

我正在尝试在 DataSource.groovy 的 Grails 应用程序中连接到 tnsnames.ora 中指定的负载平衡虚拟主机,但没有成功 - 它(显然)引发“未知主机指定”异常。

tnsnames 条目如下所示

someServiceName =
(DESCRIPTION_LIST =
(FAILOVER=ON)
(LOAD_BALANCE=ON)
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = someServerName1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = someServiceName1)
)
)
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = someServerName2)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = someServiceName2)
)
)
)

我可以通过以通常的方式简单地设置 DataSource.groovy 中的值来连接到服务之一(someServiceName1 和 someServiceName2),但我不知道如何连接到负载平衡的虚拟主机。
我已经四处寻找在 Grails 中使用 tnsnames.ora,但我似乎找不到一种特别“常规”的方式来完成这项工作。任何指针将不胜感激。

附言我更喜欢一个我仍然能够将数据源注入(inject)我的 Controller 等的解决方案。

最佳答案

我认为您需要配置具有多个地址的单个服务。然后你必须将你的数据源 URL 字符串设置为这样的(当然没有换行符):

jdbc:oracle:thin@(DESCRIPTION=
(LOAD_BALANCE=on)
(ADDRESS=(PROTOCOL=TCP)(HOST=someServerName1) (PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=someServerName2) (PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=theOnlyServiceName)))

herehere供引用。

关于oracle - 如何在 Grails 数据源中使用 tnsnames.ora?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4035276/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com