前几天,有个同事使用sql server analysis services 2005,处理时报标示符过长的错误,问我是怎么回事,我也不清楚,后来他说直接去掉那个字段就可以了,我也就没去注意了。昨天我自己做的笑脸网分析的时候又出现了这个问题,我不可能把这个字段给去掉,所以得自己处理啊。
看了一下报错的地方,输出了一个语句 ,大概是 select a_src_login_log.full_name "analysis_kitpais_a_src_login_log_full_name_0_0" from XXX;
刚开始,我以为是表中的值太长,但是同一个表之前有处理成功过的,应该长度是没问题的啊,所以继续研究。
我也百度了一下,有人说是字段不能超过30个字符,是说字段名不能超过30个字符(这里搜索出来时也不是很准确,我也不太清楚是不是这样,有清楚的可以给我说一下,写完我再去研究一下,查点资料),然后我就再去看报错的sql,从这个语句上看,取别名的时候是用用户名analysis_kitpais加上表名再加上字段名,后面还有加了_0_0,应该就是这里太长的原因了,我想起之前处理,我的用户名才几个字母,这次用户名好长,所以先换个用户试一下,结果一次就成功了。
既然把用户名改短有用,我想改表名,字段名应该都是可以了,但是这些东西其实都不是那么容易就改的,怎么办呢?我这里就是用视图来替换表的,至于直接改短表中字段名啥的还没有测试过,之后再来试一下。