页面树结构
转至元数据结尾
转至元数据起始

(本文档仅供参考)

问题

        mysql数据源下,有如下场景:

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

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

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

问题原因

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

场景1

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

错误的url链接导致where=中文查询错误:

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

修改后正常的url链接:

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

场景2

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

       去掉了参数后的URL链接:

       jdbc:mysql://<servername>:<port>/<database>

       正常URL链接:

jdbc:mysql://<servername>:<port>/<database>?useOldAliasMetadataBehavior=true&useUnicode=true&characterEncoding=GBK&zeroDateTimeBehavior=convertToNull

如果改成上述链接后仍然无法正常查询,可以修改URL链接的characterEncoding字符集编码参数从GBK改成UTF-8再测试。

         

         

Viewtracker License Missing

There is a problem with the license of the Viewtracker addon. Please check if you have a valid license.

授权码细节