【问题标题】:Could not find the ColdFusion component or interface query找不到 ColdFusion 组件或接口查询
【发布时间】:2021-09-24 17:09:25
【问题描述】:

我使用 CommandBox 重新启动了我的 CF2018 服务器,我猜我之前的设置都没有保存。我已经尝试了我能想到的一切,但无法克服这个错误:

找不到 ColdFusion 组件或接口查询。

var config_qry = new Query(datasource = this.dsn); //在这一行出现错误

config_qry.setSQL('UPDATE t_table SET col1 = cast(:newConfig as json) WHERE default_url like :default_url');

我很确定这是我的 CFAdmin 中的一个设置不正确,但无法确定它可能是什么。我已验证 DSN 正常工作,这不是问题。似乎关键字“Query”没有被识别为冷融合词,因此它正在寻找具有该名称的组件。如果我简化它并以这种方式尝试,我会得到同样的错误。

var config_qry = new Query();

我不确定还可以尝试什么。感谢您的帮助!

【问题讨论】:

  • Query.cfc 组件从 {cf_root_path}\cfusion\CustomTags 加载。查看 CF Admin => Extensions => Custom Tag Paths => Current Custom Tag Paths 并查看该路径是否存在。如果没有,请尝试添加它...
  • 刚刚安装了 CF2018 的测试命令框,添加的路径如下所示 C:\{commandbox_root}\server\{BigLongServerID}\adobe-2018.0.12.328566\WEB-INF\cfusion\CustomTags
  • 您似乎正在使用 Adob​​e 的 Query.cfc 自定义标签,并且在您的 cfengine 上找不到该组件。如果使用 new com.adobe.coldfusion.query() 调用它会发生什么?或者您的映射错误或组件丢失。此外,这种类型的查询变得过时了。考虑使用 cfqueryExecute() 尝试更现代的 cfscript 方法。
  • 或 queryExecute()。 customTag 路径可能丢失或错误,因为 Query.cfc 应该可以开箱即用,因为安装程序会自动添加 cfc 和路径。如果它不起作用,首先要看的是扩展屏幕中的路径。如果路径丢失或错误,com.adobe.coldfusion.query() 语法也会失败。
  • 哈,哈!那成功了。使用 帮助我找到了 CustomTags 文件夹所在的位置,一旦我添加了该 CustomTag 路径,一切都会重新启动并运行。非常感谢您的帮助!

标签: coldfusion commandbox


【解决方案1】:

Query.cfc 是从 {cf_root_path}\cfusion\CustomTags 目录加载的几个 Adob​​e 组件之一。查看 CF Admin => Extensions => Custom Tag Paths => Current Custom Tag Paths 并查看该路径是否存在。如果没有,请尝试添加它。要查找 CommandBox 安装的根路径,请输出:

<cfdump var="#server.coldfusion.rootdir#">

还有@AndreasRu mentioned in the comments,您可以考虑改用QueryExecuteSee this old blog entry 与 Query.cfc 相比的一些优势。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-17
    • 1970-01-01
    相关资源
    最近更新 更多