ColdFusion 11和Microsoft Access

时间:2015-07-14 04:43:33

标签: ms-access coldfusion windows-server-2012

我在Windows Server 2012上运行AWS每小时ColdFusion 11实例。它已被锁定。

我试图通过cfquery(DSN)访问.MDB文件。

我已按照http://blogs.coldfusion.com/post.cfm/coldfusion-10-64bit-and-msaccess上的说明操作,http://www.coldfusionmuse.com/index.cfm/2010/12/31/Access.on.64bit.ColdFusion提供了几乎相同的答案。

此外,我还拥有对ColdFusion Windows用户的HKEY_LOCAL_MACHINE / SOFTWARE / ODBC完全权限。

Per Anit的建议我安装了32位AccessDatabaseEngine。我删除了ODBC工具和CF管理员中的所有数据源并重新添加了它们。我还将服务登录从锁定用户更改为本地服务以获得完整权限。我甚至重新启动了整个服务器。

但是我得到了[#media; [Macromedia] [SequeLink JDBC Driver] [SequeLink Server]未定义指定的数据源"跑步时:

<cfquery name="CJT" datasource="membersAdministration">
    SELECT *
    FROM MSysObjects
</cfquery>

我在CF Admin中添加了Microsoft Access数据源,为其提供了名称和数据库文件。按预期收到的结果是:&#34;无法更新NT注册表。变量DRIVERPATH未定义。&#34;

然后我跑了&#34; C:\ Windows \ SYSWOW64 \ odbcad32.exe&#34;并以相同的名称和路径添加了系统DSN。

我甚至尝试重启CF。

我看到HKEY_LOCAL_MACHINE / SOFTWARE / ODBC和HKEY_LOCAL_MACHINE / SOFTWARE / Wow6432Node / ODBC都有新条目。

我可能缺少什么想法?

这是堆栈跟踪:

java.sql.SQLException: [Macromedia][SequeLink JDBC Driver][SequeLink Server]The specified data source is not defined.
    at macromedia.sequelink.ssp.Diagnostic.toSQLException(Unknown Source)
    at macromedia.sequelink.ssp.Chain.cnvDiagnostics(Unknown Source)
    at macromedia.sequelink.ssp.Chain.decodeDiagnostic(Unknown Source)
    at macromedia.sequelink.ssp.Chain.decodeBody(Unknown Source)
    at macromedia.sequelink.ssp.Chain.decode(Unknown Source)
    at macromedia.sequelink.ssp.Chain.send(Unknown Source)
    at macromedia.sequelink.ctxt.conn.ConnectionContext.connect(Unknown Source)
    at macromedia.jdbc.sequelink.SequeLinkImplConnection.open(Unknown Source)
    at macromedia.jdbc.slbase.BaseConnection.connect(Unknown Source)
    at macromedia.jdbc.slbase.BaseConnection.setupImplConnection(Unknown Source)
    at macromedia.jdbc.slbase.BaseConnection.open(Unknown Source)
    at macromedia.jdbc.slbase.BaseDriver.connect(Unknown Source)
    at macromedia.jdbc.MacromediaDriver.connect(Unknown Source)
    at coldfusion.server.j2ee.sql.pool.JDBCPool.createPhysicalConnection(JDBCPool.java:614)
    at coldfusion.server.j2ee.sql.pool.ConnectionRunner$RunnableConnection.run(ConnectionRunner.java:67)
    at java.lang.Thread.run(Thread.java:745)

1 个答案:

答案 0 :(得分:0)

我知道这是一个旧帖子。但我需要连接一些较旧的数据库。 Windows 2016 服务器上的 ColdFusion 2016。它不会连接到 Access 数据库。

所以我更新了一切,服务器更新,ColdFusion 更新。

然后我安装了 MS Office 2016 (Access),然后再次更新了所有内容。

那奏效了。