今天在调试excel报表显示的时候,出现一个不大不小的错误,大是因为刚开始不知道它是什么?小是因为和它纠缠了半天才恍然大悟。那么接下来就让我们记录一下这个探索的轨迹。
一、错误体 在浏览器的右下角有一个黄色预警,然后界面就是出不来。点开显示的错误为:
网页错误详细信息
用户代理: mozilla/4.0 (compatible; msie7.0; windows nt 6.1; wow64; trident/4.0; slcc2; .net clr 2.0.50727; .net clr3.5.30729; .net clr 3.0.30729; media center pc 6.0; infopath.3; .net4.0c;.net4.0e)
时间戳: mon, 1 dec 2014 09:33:45 utc
错误的解析:
1.应用程序版本“mozilla/4.0”表示:你使用maxthon 2.0 浏览器使用 ie8 内核;
2. 版本标识“msie7.0”
3. 平台自身的识别信息“windows nt6.1”表示“操作系统为 windows7”
4.trident内核版本“trident/4.0”,浏览器的一种内核,还有一种就是webkit内核
二、探索轨迹 方案一: 刚开始没有多想,就将错误体粘到了百度上,出来的大部分解决方案总结下来有两种:
(一)在注册表中注册浏览器的版本内核 第一、打开电脑,选择电脑屏幕左下角“开始”—>“运行”。
第二、输入regsvr32 jscript.dll后选择“确定”
第三、再次输入regsvr32 vbscript.dll 选择“确定”
第四、以上两次输入都会有注册成功提示。说明您已成功修复您的ie组件。再清空ie后打开网页即可。
最后点击ie浏览页的工具--internet选项,删除cookies再点删除文件,记得勾选所有脱机文件,就可以了。
(二)升级浏览器 如果以上方法不行,就升级浏览器,重启电脑。
比较悲催的是两种方法都试过了,但结果还是不行,但是比之前好的是没有黄色预警了,只是不显示数据。看着浏览器真是一种挠心,心想这也是一种态度啊!
接下来只能想别的办法啦,这个消息表示数据已经从底层传过来了,只是不能正常显示而已。是不是查出来的数据有问题,于是就在底层加了几个断点一点点跟踪,实质问题终于浮出水面,带着这个问题寻找第二个解决方案。如下:
cannot resolve the collationconflict between chinese_prc_ci_as andsql_latin1_general_cp1_ci_as in the equal to operation.
方案二: 这个错误是在sql左连接或是写存储过程的时候发生的“字符集错误”,出现这个错误的原因是:由于每个表都有自己的排序规则,当你将它们连接到一块的时候就会出现排序规则冲突,这个时候就需要将它们统一规则。如下:
加入database_default就可以了。
left join @table1 cpt on o.part = cpt.productid collatedatabase_default select a1,a2 collatedatabase_default from call_id union all select a1,a2 collatedatabase_default from call_detail
三、总结 在这个错误中让我认识到自己的极大盲区:
第一:遇到问题有点不淡定,有点暴躁,所以在今后的工作中要有一种态度,遇事不急不躁,寻找解决问题的办法。
第二:在解决问题的时候要根据问题出现的原因,再寻找解决的方法,不要立刻从网上查,这样也许会让你事倍功半,所以要学会对症下药,而不是乱医。