首页 > 代码库 > 调错也是一种态度
调错也是一种态度
今天在调试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" and"SQL_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
三、总结
在这个错误中让我认识到自己的极大盲区:
第一:遇到问题有点不淡定,有点暴躁,所以在今后的工作中要有一种态度,遇事不急不躁,寻找解决问题的办法。
第二:在解决问题的时候要根据问题出现的原因,再寻找解决的方法,不要立刻从网上查,这样也许会让你事倍功半,所以要学会对症下药,而不是乱医。
调错也是一种态度