1

我刚刚用mysql 5.6设置了CF10、win2008、IIS 7.5。但是我们收到了这个错误:

Error Executing Database Query.
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=DEFAULT

当我将“LIMIT”明确设置为查询时,此错误将被删除。

(评论更新)

这是一个例子:

<cfquery name="dds" datasource ="#Request.Datasource#"> 
    SELECT * 
    FROM   tblaccounts 
    LIMIT 100 
</cfquery> 

据我的研究表明,它与新版本的 mysql 5.6 不兼容。

4

5 回答 5

16

从上面的答案中借用一些更详细的信息:

我们遇到了同样的问题,通过更新 JDBC 文件解决了这个问题。由于ColdFusion 10 仅支持 MySQL 5.0 和 5.1,因此您需要如上所述更新连接器。

要更新 Windows 机器上的 JDBC 连接器,

  1. 从上面提供的链接获取 .zip 连接器
  2. 打开 zip 存档并找到 mysql-connector-java-5.1.23-bin.jar
  3. 将此 .jar 文件复制到 C:\ColdFusion10\cfusion\lib\
  4. 打开服务(开始 > 控制面板 [可选] > 管理工具 > 服务)
  5. 停止/启动“ColdFusion 10 应用服务器”服务

要验证新的 .jar 是否已被 ColdFusion 识别,请登录到您的 ColdFusion 管理员,单击“服务器设置”下的“设置摘要”。搜索“mysql”。您应该会看到“CF 服务器 Java 类路径”部分下列出的 .jar 文件。无需重新设置数据源。这些更改应自动应用。

于 2013-02-27T17:58:21.527 回答
2

据我了解,另一个选择应该是将 JDBC 驱动程序更新为最新的 MySQL JDBC Driver。您可以在此处找到有关使用最新 JDBC 驱动程序的说明:(虽然说明可能有点陈旧,但它应该仍然以几乎相同的方式工作)。

仅供参考ColdFusion 10 仅支持 MySQL 5.0 和 5.1

于 2013-02-25T18:18:01.013 回答
1

非常感谢克拉克 - 我们刚刚遇到了与 CF9 相同的问题

这实际上也适用于 CF9。第 3 步然后: 将此 .jar 文件复制到 C:\ColdFusion9\lib\ Step3a 重命名旧驱动程序 mysql-connector-java-commercial-5.1.11-bin.jar.old 否则驱动程序可能会冲突。(以前发生过)

更新后,这个错误似乎消失了。:)

于 2013-04-28T21:45:10.903 回答
1

ColdFusion 10 更新 11 现在支持 MySQL 5.6,详情请点击此处:http ://helpx.adobe.com/coldfusion/kb/coldfusion-10-update-11.html

于 2013-07-10T18:08:31.863 回答
0

MySQLSET OPTION很久以前就弃用了,请参阅文档,并在 5.6 中将其删除。您需要使用 SET 而不使用 OPTION 语句,

SET SQL_SELECT_LIMIT = 100;

会做你想做的。

请注意,这会为单个连接设置默认值。为确保您的后续查询使用相同的连接,请将它们包装在<cftransaction>

<cftransaction>
  <cfquery name="tmp" datasource ="#Request.Datasource#"> 
  SET SQL_SELECT_LIMIT = 100;
  </cfquery> 
  <cfquery name="dds" datasource ="#Request.Datasource#"> 
  SELECT * 
  FROM tblaccounts;
  </cfquery> 
</cftransaction>

另一种方法是为数据源启用多个查询,但出于安全原因不建议这样做。

于 2013-02-25T09:24:28.323 回答