带中文字符的sql查询



我想问一个关于名为teiid的数据虚拟化系统的问题,当我创建这样的查询时:

SELECT teiid2602.KC.{**some chinese character**}
FROM teiid2602.KC 
WHERE teiid2602.KC.id is not null;

id系统返回消息:

odbc_exec(): SQL error: [unixODBC]ERROR: TEIID30504 KK: 1054 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: SELECT g_0.`mobile`, g_0.`{**some chinese character**}` FROM `teiid2602`.`KC` AS g_0]
org.teiid.jdbc.TeiidSQLException: TEIID30504 KK: 1054 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: SELECT g_0.`mobile`, g_0.`{**some chinese character**}` FROM `teiid2602`.`KC` AS g_0];
Error while executing the query, SQL state S0022 in SQLExecDirect

但是我可以在我的MySQL工作台上运行这个查询,所以我想知道Teiid是否支持中文字符查询,或者是否有人遇到类似的问题并知道如何修复它

Teiid SQL解析器将以下字符视为字母:拉丁字母a-z和a-z,以及unicode范围u0153-ufffd。无论如何,如果Teiid生成的最终输出SQL查询包含中文名称,它肯定支持您用于字段名称的特定字母。所以问题可能是关于mysql本身或关于生成的输出查询(在您提供的原始查询中没有引用'mobile'字段,而生成的查询包含它)。

无论如何,找出问题的最好方法是从日志中复制生成的查询,并尝试直接在MySQL上执行。

相关内容

  • 没有找到相关文章

最新更新