关于在web.config中配置了引发的怪问题!
我项目中需要两个功能,一个是根据在DATAGRID中选择数据,然后可以导出成EXCEL,我用了excel 11.0 object这个COM组件来做,代码写好后执行报错,System.UnauthorizedAccessException...拒绝访问,因为我项目用的是<FROMS>验证方式,然后我在WEB.CONFIG中添加了<identity impersonate="true" />,添加以后,EXCEL可以正常生成了..
但是还有另一个功能:就是上传EXCEL文件,然后把他显示在DATAGRID中.我使用如下代码:
if(上传成功)
{
string strConn;
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="excel.xls";Extended Properties=Excel 8.0;";
OleDbConnection conn = new OleDbConnection(strConn);
OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", strConn);
DataSet myDataSet = new DataSet();
myCommand.Fill(myDataSet);
foreach(DataRow row in myDataSet.Tables[0].Rows)
{
Response.Write(row[0].ToString()+" "+row[1].ToString()+" "+row[2].ToString()+"<br>");
}
}
运行报错:
Exception Type: System.Data.OleDb.OleDbException
ErrorCode: -2147467259
Errors: System.Data.OleDb.OleDbErrorCollection
Message: 未指定的错误
Source: Microsoft JET Database Engine
TargetSite: Void ProcessResults(Int32)
myCommand.Fill(myDataSet):显示为红色
奇怪的是,我在WEB.CONFIG中把刚才添加的<identity>节点去掉,上面的查询EXCEL就可以正常运行,但是生成EXCEL会报拒绝访问的错.
只要添上<identity>节点,EXCEL可以生成了,却又用不了查询了..整个项目都是如此,我新加文件,新写代码都是这样..怎么解决???
另外重要的一点:我在家里的windows 2003 上,运行都没有问题,WEB.CONFIG也有<identity>节点,两个功能都正常. 到公司后,系统是WINDOWS 2000,就出现上面所描述的问题.请有经验的大哥们发表发表意思吧.