创新路
我们一直在努力

关于个人排查一个IIS报错的思路讲解。

 

首先简单介绍环境

WIN2008 + IIS7.5+ MYSQL+SQL +ASP(貌似2个数据库都有)

故障简介:

环境搭建完毕后,跑程序大部分功能正常。其中一个功能不能正常使用。

报错截图如下:

1

1

2

2

源码一:

26     excStrConn=”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=”&Server.MapPath(“11.xls”)&”;Extended Properties=””Excel 8.0;HDR=Yes;IMEX=1″””

 

这段代码大致介绍:

作用:Microsoft.Jet.OLEDB.4.0读取EXCEL数据

excStrConn = 变量名

Provider = 使用的驱动引擎

Source = 路径

HDR=YES 有两个值:YES/NO,表示******行是否字段名,默认是YES,******行是字段名

 

IMEX 有三种模式:

0 is Export mode

1 is Import mode

2 is Linked mode (full update capabilities)

 

0 —输出模式;

1—输入模式;

2—-链接模式(完全更新能力)

 

 

当 IMEX=0 时为“汇出模式”,这个模式开启的 Excel 档案只能用来做“写入”用途。

当 IMEX=1 时为“汇入模式”,这个模式开启的 Excel 档案只能用来做“读取”用途。

当 IMEX=2 时为“连結模式”,这个模式开启的 Excel 档案可同时支援“读取”与“写入”用途。

 

 

源码二:

26    excStrConn = “Driver={Microsoft Excel Driver (*.xls)};DBQ=” & Server.MapPath(“11.xls”)

 

作用:Microsoft Excel Driver读取EXCEL数据(和上面不同的驱动引擎)

此段代码类似上面,不单独做介绍

 

 

Tips:

OLEDB小科普:

OLEDB位于ODBC层与应用程序之间. 在你的ASP页面里,ADO是位于OLEDB之上的应用程序. 你的ADO调用先被送到OLEDB,然后再交由ODBC处理. 你可以直接连接到OLEDB层,如果你这么做了,你将看到服务器端游标(recordset的缺省的游标,也是***常用的游标)性能的提升.

 

JET小科普:

JET 是Joint Engine Technology的缩写,它的正式名称是“微软Jet数据库引擎(Microsoft JET Engine)”是一个底层数据库引擎,内容概要是锁和安全。作为数据库的底层组件,数据库引擎的主要功能体现在它能把信息有规律地存储在计算机上。Jet是微软开发的一种数据库引擎,微软还以它为基础开发出了若干种产品,其中包括著名的Microsoft Access

 

3

3

 

下面我们就用中医里面经常提到的“望闻问切”来整理思路

PS: 是中医用语。望,指观气色;闻,指听声息;问;指询问症状;切;指摸脉象

 

【望】:这里可以理解为观察和回顾。回顾下这个服务器之前的环境情况、系统搭建。查看下服务器当前情况作了那些设置,安装了那些软件,进行过那些操作等。

 

【闻】:这里可以理解为查询一些信息,收集一些错误网上别人的处理经验。针对报错代码,出现的情况各种谷歌度娘。当然,很多无效信息过滤这个比较凭经验。

 

【问】:询问处理这个问题或者遇到这个问题的人做过哪些尝试,排除了那些问题

 

【切】:可以理解为实战部分,把网上收集的问题配合上自己经验进行尝试。把自己认为的可能逐一尝试,可以用虚拟机重新搭建一个环境,尝试故障重现

 

 

***终处理思路:(此方法不一定适合所有这个报错情况,仅提供一种排查思路参考)

仅对我个人操作过的地方,和可能出现此问题的地方做截图。关于细节部分不再此次讨论当中:

 

操作一:

选择【连接为】-改为【应用程序用户(通过身份验证)】,并点【选择】选择默认池

4

4

5

5

6

6

身份验证,选择应用程序池标识

 

 

操作二:

启用32位应用程序

7

7

 

8

8

也可以使用命令方式:

输入cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs set W3SVC/AppPools/Enable32bitAppOnWin64 1

 

 

操作三:

后面测试这部可以不需要

重新注册.net frameWorks

%SYSTEMROOT%Microsoft.NETframeworkv2.0.50727aspnet_regiis.exe -i (注意该处选择正确的.net版本)

 

操作四:

解决浏览器一直提示“An error occurred on the server …..”

启用“父路径”,解决:登录界面的验证码不出现

9

9

 

操作五:

给网站(程序)存放目录给予user基本权限。如果有数据库存放目录还需要给予NETWORK SERVICE权限(权限大小根据实际情况而定)

10

10

 

额外附件:

Microsoft Access 2010 数据库引擎可再发行程序包

http://www.microsoft.com/zh-cn/download/details.aspx?id=13255

2007 Office system 驱动程序:数据连接组件

https://www.microsoft.com/zh-cn/download/details.aspx?id=23734

 

未经允许不得转载:天府数据港官方信息博客 » 关于个人排查一个IIS报错的思路讲解。

客官点个赞呗! (0)
分享到:

评论 抢沙发

评论前必须登录!

天府云博 - 做有态度的开发&运维&设计学习分享平台!

联系我们百度云主机