我有一个新构建的 64 位 Windows Server 2008 R2 盒子,我已经在上面安装了 64 位 Coldfusion 9 Standard。我已将其升级并修补到最新版本的 CF。我还在盒子上安装了 64 位 Oracle 11g (11.1.0.7.0) 客户端。我已经在 Windows 中使用 64 位 ODBC 数据源管理器创建了一个系统 DSN,并且可以成功测试数据源的连接。
所有这些安装都很顺利,但是,当我在 Coldfusion Administrator 中添加数据源时,我收到错误消息:
Connection verification failed for data source: myDatabaseName
java.sql.SQLException: [Macromedia][SequeLink JDBC Driver][ODBC Socket]internal error: The specified DSN contains an architecture mismatch between the Driver and Application The root cause was that: java.sql.SQLException: [Macromedia][SequeLink JDBC Driver][ODBC Socket]internal error: The specified DSN contains an architecture mismatch between the Driver and Application
我很难准确地理解这种架构不匹配的来源,因为这个盒子完全是 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
然后是数据库的用户名和密码。
果然它就像一个魅力。
丹,我想给你一个复选标记,因为你绝对让我朝着正确的方向前进,但我只能标记一个正确的。
关于oracle11g - Coldfusion 9.0.1 Standard 64bit 和 Oracle 11g 64bit ODBC 连接结果为 "architecture mismatch",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7015557/