Windows 2016 Server 上的 ColdFusion 2018,当前使用 Oracle 12c。
我的机构正计划将 Oracle 升级到 19c,但我在 CF 文档中没有发现任何关于连接到 19c 数据库的信息。
有没有人这样做过?有什么我应该知道的问题吗?我们的 CF 安装是最新的。
谢谢,
米歇尔
Windows 2016 Server 上的 ColdFusion 2018,当前使用 Oracle 12c。
我的机构正计划将 Oracle 升级到 19c,但我在 CF 文档中没有发现任何关于连接到 19c 数据库的信息。
有没有人这样做过?有什么我应该知道的问题吗?我们的 CF 安装是最新的。
谢谢,
米歇尔
实际上,对于内置的 Oracle 数据库驱动程序,如果您将 SID 留空并将以下内容添加到您的连接字符串中,它应该可以工作:
ServiceName=myoracle.service.name;
在我的商店中,我们切换到了 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)))
最后,您可以在此处获取类似但有些不同的信息。