2

Windows 2016 Server 上的 ColdFusion 2018,当前使用 Oracle 12c。

我的机构正计划将 Oracle 升级到 19c,但我在 CF 文档中没有发现任何关于连接到 19c 数据库的信息。

有没有人这样做过?有什么我应该知道的问题吗?我们的 CF 安装是最新的。

谢谢,

米歇尔

4

2 回答 2

2

实际上,对于内置的 Oracle 数据库驱动程序,如果您将 SID 留空并将以下内容添加到您的连接字符串中,它应该可以工作:

ServiceName=myoracle.service.name;
于 2020-09-30T16:13:25.363 回答
0

在我的商店中,我们切换到了 Oracle 19c,这很痛苦,因为每个 Oracle 数据源都需要重新创建,只是以不同的方式重新创建。如果在从 12c 升级到 19c 期间,您的商店从使用 a 切换SID到 a,SERVICE_NAME则本机 Oracle 驱动程序将不再工作,因为SERVICE_NAME在创建数据源屏幕上没有条目。相反,您必须使用“其他”为驱动程序创建数据源,然后使用 jdbc 瘦客户端。以下是您需要插入的值。

首先,您可能需要从 Oracle 网站下载 Oracle 瘦驱动程序。我不确定这一点,因为我们有另一个团队来管理服务器。

司机等级: oracle.jdbc.OracleDriver

司机姓名: ojdbc.jar

JDBC URL:转到您的 tnsnames.ora 文件,然后将条目复制并粘贴到 CF 管理员创建数据源屏幕中。但是,您将替换为DATABASE.WORLD=jdbc:oracle:thin:@保持条目的其余部分相同。例如,如果您有一个 TNS 条目,内容为:

MYDB.WORLD=(DESCRIPTION=(ADDRESS=(COMMUNITY=TCP.WORLD)(PROTOCOL=TCP)(HOST=HOSTNAME)(PORT=2727))(CONNECT_DATA=(SERVICE_NAME=MYDB)))

然后您的 JDBC URL 将读取

jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(COMMUNITY=TCP.WORLD)(PROTOCOL=TCP)(HOST=HOSTNAME)(PORT=2727))(CONNECT_DATA=(SERVICE_NAME=MYDB)))

最后,您可以在此处获取类似但有些不同的信息。

于 2020-08-18T20:48:24.873 回答