如何解决Oracle 19c连接到ColdFusion 2018
Windows 2016 Server上的ColdFusion 2018,当前使用Oracle 12c。
我的机构正在计划将Oracle升级到19c,在CF文档中我没有发现与19c数据库的连接的任何信息。
有人这样做吗?我应该知道任何问题吗?我们的CF安装是最新的。
谢谢
米歇尔
解决方法
实际上,对于内置的Oracle数据库驱动程序,如果将SID留为空白并将以下内容添加到连接字符串中,则它应该可以工作:
ServiceName=myoracle.service.name;
,
在我的商店中,我们切换到Oracle 19c,这很痛苦,因为每个Oracle数据源都需要以不同的方式重新创建。如果在从12c升级到19c的过程中,您的商店从使用SID
切换为SERVICE_NAME
,那么本机Oracle驱动程序将不再起作用,因为在创建时没有SERVICE_NAME
的条目数据源屏幕。相反,您必须使用“ Other”作为驱动程序来创建数据源,然后使用jdbc瘦客户端。这是您需要插入的值。
首先,您可能需要从Oracle网站下载Oracle瘦驱动程序。我不确定,因为我们还有另一个团队来管理服务器。
驱动程序类: oracle.jdbc.OracleDriver
驱动程序名称: ojdbc.jar
JDBC URL::转至tnsnames.ora文件,然后将条目复制并粘贴到CF Admin创建数据源屏幕中。但是,您将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)))
最后,您可以转到here获取类似但有所不同的信息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。