Openfire:org.jivesoftware.openfire.pubsub.PubSubPersistenceManager-关键字“ LEFT”附近的语法不正确

时间:2019-05-08 21:02:13

标签: sql-server openfire

任何想法都可能导致此错误在all.log和错误中不断产生。日志。 Windows上连接到SQL Server 2012(SP4)的Openfire 4.3.2-没关系。可能是由于ofProperty表中的SQL错误导致的吗?在哪里看? 我们有一个正在运行的web / Candy.js聊天应用程序…

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="bioHead"></div>

1 个答案:

答案 0 :(得分:0)

我们使用SQL事件探查器检查Incorrect syntax near the keyword 'LEFT'消息。 这就是我们得到的:错误是由以下错误的SQL产生的

DELETE FROM ofPubsubItem
   LEFT JOIN (SELECT id FROM ofPubsubItem WHERE serviceID= @P0  AND nodeID= @P1  ORDER BY creationDate DESC LIMIT  @P2 ) AS noDelete
            ON ofPubsubItem.id = noDelete.id
WHERE ...

此SQL是不正确的,正确的SQL将像

一样包含“ FROM ofPubsubItem”两次
DELETE FROM ofPubsubItem
FROM ofPubsubItem LEFT JOIN (SELECT id FROM ofPubsubItem WHERE serviceID= @P0  AND nodeID= @P1  ORDER BY creationDate DESC LIMIT  @P2 ) AS noDelete
            ON ofPubsubItem.id = noDelete.id
WHERE

我将向Openfire提交错误报告。不知道该SQL语法是ANSI还是SQL Server特定,但是Openfire应该支持SQL Server。