页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

(本文档仅供参考)

问题

         使用原生sql数据集查询数据时,当参数或者where后面条件是中文时无法查询出数据,若是英文/数字可以查询出数据,在数据库工具直接执行sql,无论wheremysql数据源下,有如下场景:

1、使用原生sql数据集查询数据时,当参数或者where后面条件是中文时无法查询出数据,若是英文/数字可以查询出数据;

2、使用即席查询、透视分析的条件参数/参数面板,选择或输入中文值也无法查询出数据,若是英文/数字可以查询出数据;

在数据库工具直接执行sql,无论where=中文或者英文都可以查询出数据。

问题原因

          此问题是因为数据源中所使用的链接字符串有误导致的。

场景1

我们产品使用的url链接本身是没有带amp;的(amp;代表的是html里面&的转义符号),去掉此字符后,查询正常,以下是错误以及正确的url链接:

...

       jdbc:mysql://ip:端口/数据库名称?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false

场景2

选择驱动程序类之后,URL链接默认生成一些参数,将后面生成的参数都删除了,从而导致查询不正常。一般不需要去删除掉这些参数,删除后可能会引起一系列问题。

...