将ColdFusion 8连接到Oracle 12c

将ColdFusion 8连接到Oracle 12c,oracle,jdbc,coldfusion,database-connection,Oracle,Jdbc,Coldfusion,Database Connection,我正在尝试从ColdFusion 8的基本安装连接到Oracle 12c数据库。它目前与Oracle 11g连接没有问题 我得到以下错误: 数据源的连接验证失败:测试 java.sql.SQLException:[Macromedia][Oracle JDBC驱动程序][Oracle]ORA-28040:没有匹配的身份验证协议 根本原因是:java.sql.SQLException:[Macromedia][Oracle JDBC Driver][Oracle]ORA-28040:没有匹配的身份

我正在尝试从ColdFusion 8的基本安装连接到Oracle 12c数据库。它目前与Oracle 11g连接没有问题

我得到以下错误:

数据源的连接验证失败:测试
java.sql.SQLException:[Macromedia][Oracle JDBC驱动程序][Oracle]ORA-28040:没有匹配的身份验证协议
根本原因是:java.sql.SQLException:[Macromedia][Oracle JDBC Driver][Oracle]ORA-28040:没有匹配的身份验证协议


ColdFusion 8 Enterprise附带的驱动程序不支持Oracle 12c。您可以尝试使用不同的驱动程序,但即使它们成功连接,也可能会遇到其他问题。

主要问题是旧版本的驱动程序将无法连接12c服务器。在Oracle 12.1中,
SQLNET.ALLOWED\u LOGON\u VERSION
参数的默认值设置为11。这意味着使用11g之前版本驱动程序的数据库客户端无法对12.1数据库服务器进行身份验证,除非
SQLNET.ALLOWED\u LOGON\u VERSION
参数设置为
$ORACLE\u HOME/network/admin/SQLNET.ora

SQLNET.ALLOWED_LOGON_VERSION_CLIENT = 8
SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8
请注意,
SQLNET.ALLOWED\u LOGON\u VERSION
在12c中已被弃用

查看下面的链接了解更多信息


严格地说是猜测,但这可能是驱动程序的问题。是的,请检查这些其他答案,升级驱动程序应该是可行的,但我必须再次戴上恐惧贩子的帽子:我认为最大的问题是您正在运行ColdFusion 8。该版本已经非常过时,极易受到各种外部攻击。您正在更新Oracle(Oracle本身并不便宜),因此不应该忽略ColdFusion。或者运行可能与CF8兼容的旧操作系统。我知道升级CF可能不在您的责任范围之内,但CF8会带来很多麻烦(对于您和您的组织而言),这些麻烦可以通过CF或Lucee的现代版本轻松处理。升级CF8和Oracle都不在我的掌控之中。我无法更改系统或底层架构。想笑吗?服务器是Windows 2008 service pack 1。2016年成立。是的,建立这个系统的那个乐于助人的人一开始使用的是过时的技术。我们使用Oracle 11g运行CF8,我需要连接到系统中的另一个数据库,即12c。Oracle提供了最新的JDBC驱动程序:它们需要JAVA 8或更高版本。不知道这是否适用于CF8。如果它需要Java8,它将不适用于CF8。CF8非常古老,只支持Java1.4。