我有一个新构建的 64 位 Windows Server 2008 R2 机器,上面安装了 64 位 Coldfusion 9 Standard。我已将其升级并修补至最新版本的 CF。我还在盒子上安装了 64 位 Oracle 11g (11.1.0.7.0) 客户端。我已经使用Windows中的64位ODBC数据源管理器创建了系统DSN,并且可以成功测试数据源的连接。
所有这些安装都很顺利,但是,当我在 Coldfusion Administrator 中添加数据源时,我收到错误:
数据源的连接验证失败:myDatabaseName
java.sql.SQLException:[Macromedia][SequeLink JDBC 驱动程序][ODBC 套接字]内部错误:指定的 DSN 包含驱动程序和应用程序之间的体系结构不匹配
根本原因是:java.sql.SQLException:[Macromedia] [SequeLink JDBC Driver] [ODBC Socket]内部错误:指定的DSN包含驱动程序和应用程序之间的体系结构不匹配
我很难准确理解这种架构不匹配的根源,因为该盒子完全是 64 位的。在查看所有正在运行的进程时,我发现一些相关的 CF 进程正在 32 位运行(Verity 相关进程、SOLR 和 CFDotNetSVC)。我不确定这些是否会导致这个问题,但我无法解释这种不匹配是否会来自其他情况。
有人有主意吗?
根据 Dan 的建议,我从 Oracle 获取了一个 JDBC 驱动程序:
http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-111060-084321.html
然后,我移动了 JAR(在我的例子中为 ojdbc6.jar)并将其添加到我的 Coldfusion 类路径中。
确定使用 Coldfusion 数据源的正确设置稍微困难一些,但以下是我最终采用的设置:
JDBC URL: jdbc:oracle:thin:@//dbsrv.mydomain.com:1521/myDB.world
Driver Class: oracle.jdbc.driver.OracleDriver
Driver Name: Oracle Thin Driver
然后是数据库的用户名和密码。
果然,它就像一个魅力。
丹,我想给你打勾,因为你确实让我朝着正确的方向前进,但我只能标记一个正确的方向。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)