WSO2 AM 1.10.0:" text,ntext和image数据类型无法进行比较或排序,除非使用IS NULL或LIKE运算符。"

时间:2016-09-15 03:28:16

标签: sql-server wso2 wso2-am wso2-das

我将wso2 am 1.10.0(port offest 1)与wso2 das 3.0.1(port offest 3)集成,一切似乎都可以,我可以从wso2am_stats_db或das carbon data explorer中看到使用数据。我按照here的说明进行了操作。但是,每次我访问任何apim发布者统计页面时,我只看到库存图片(SAMPLE:Config DAS看你的),apim日志吐出以下错误:

TID: [-1234] [] [2016-09-15 03:11:21,634] ERROR {JAGGERY.modules.statistics.usage:jag} -  
org.wso2.carbon.apimgt.usage.client.exception.APIMgtUsageQueryServiceClientException: Error occurred while querying from JDBC databaseThe text, ntext, and image data types cannot be compared or sorted, except when using IS NULL or LIKE operator. {JAGGERY.modules.statistics.usage:jag}

我正在使用MSSQL数据库,如果这有所不同。脚本/架构接近here。该错误对我没有意义,因为架构中没有定义text,ntext或image类型。请参阅此讨论:The text, ntext, and image data > types cannot be compared or sorted, except when using IS NULL or LIKE > operator

2 个答案:

答案 0 :(得分:1)

当对类型为TEXT,NTEXT或IMAGE的字段应用GROUP BY或ORDER BY等操作时,可能会发生上述错误。您可以检查您的查询以确定这一点。

作为一种解决方法,您可以按照以下方法发布统计信息,这将是一种更清晰的方法。

https://docs.wso2.com/display/AM1100/Publishing+API+Runtime+Statistics+Using+REST+Client

答案 1 :(得分:1)

我花了一些时间来找出错误被抛出的原因,因为我们的DDL没有任何列的文本数据类型,正如您从上面提到的SQL文件中可以看出的那样。

感谢大家的关注和时间。事实证明这是根本原因: Very strange SQL Server behavior: automatically convert most varchar data types to text

我明白这不会适用于其他人的情况,但我在这里记录它以防万一我遇到同样的情况......故事的道德:永远不要相信你正在使用的软件。在这种情况下,即使我们的DDL没有文本数据类型,MSSQL在我们运行DDL / SQL脚本以随机方式创建这些表后的5,10分钟或数小时内以某种方式将大多数varchar类型转换为文本。