问题:
Excel导入模板中,某个字段绑定导入当前登录的用户名,例如:管理员,导入后发现只导入了“管”。
原因:
Smartbi在导入数据时会执行标准的insert语句:insert into table value ( ...) 把数据插入到数据库,但是Impala数据库对此语法支持不好,导致导入的字符串会被截取。若是可以联系到维护厂商,让厂商从数据库上修复支持,这是最好的!
规避方案1:经本地验证下图中的两种语法是不会发生截取的,若确认以下语法在实际的数据库环境中可解决截取问题,也可通过定制Smartbi的数据处理类的方式,改变原有的insert SQL的拼接方式来规避此数据库问题。
规避方案2:若impala底层是hive表,并且Hive是允许使用JDBC方式直接连接的,可以尝试把数据导入到底层的hive。(一般hive配置了允许impala连接,hive允许直连的可能性比较少,不建议采用此方式)
后续
在2021-01-29后的V95版本,产品在构造SQL时用 cast '管理员' as string 方式来处理,已规避此问题,可更新版本解决。