问题:

Excel导入模板中,某个字段绑定导入当前登录的用户名,例如:管理员,导入后发现只导入了“管”。

原因:

Smartbi在导入数据时会执行标准的insert语句:insert into table value ( ...) 把数据插入到数据库,但是Impala数据库对此语法支持不好,导致导入的字符串会被截取。若是可以联系到维护厂商,让厂商从数据库上修复支持,这是最好的!

规避方案1:经本地验证下图中的两种语法是不会发生截取的,若确认以下语法在实际的数据库环境中可解决截取问题,也可通过定制Smartbi的数据处理类的方式,改变原有的insert SQL的拼接方式来规避此数据库问题。

规避方案2:若impala底层是hive表,并且Hive是允许使用JDBC方式连接的,可以尝试把数据导入到底层的hive。

后续

在2021-01-29后的V95版本,产品在构造SQL时用 cast '管理员' as string 方式来处理,已规避此问题。