页面导入Excel的功能在F5运行里面用得好好的,当发布到IIS里面就报错了,错误如下:
异常详细信息: System.Data.OleDb.OleDbException: 未指定的错误源错误: 
行 306:                OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", strConn);
行 307:                DataSet myDataSet = new DataSet();
行 308:                myCommand.Fill(dataset, "ExcelInfo");  //就是报的这行错误
行 309:                int i = dataset.Tables["ExcelInfo"].Rows.Count;
行 310:                string str = dataset.Tables["ExcelInfo"].Rows[0][0].ToString();导入的代码如下:string strConn;
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + File1.Value.ToString() + ";" + "Extended Properties=Excel 8.0;";
OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", strConn);
DataSet myDataSet = new DataSet();
myCommand.Fill(dataset, "ExcelInfo");
int i = dataset.Tables["ExcelInfo"].Rows.Count;
string str = dataset.Tables["ExcelInfo"].Rows[0][0].ToString();
gridView.DataSource = dataset.Tables["ExcelInfo"];
gridView.DataBind();请高手指点迷津~
 

解决方案 »

  1.   

    你先加上个异常处理        try
            {
             myCommand.Fill(dataset, "ExcelInfo");  
            }
            catch (Exception e)
            {
                throw e;
            } 
      

  2.   

    iis问题...webconfig问题...try catch一下
      

  3.   

    我试了用try  catch  还是报错,
    throw ex;这行报错啊!睡知道这是什么原因吗!
      

  4.   

    只能是两个地方可能出错:
    iis
    web配置
      

  5.   

    我是第一次发布网站,好多地方都不懂,现在我把web贴上来<?xml version="1.0" encoding="utf-8"?>
    <configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
      <connectionStrings>
        <add name="CodematicConnectionString1" connectionString="Data Source=.;Initial Catalog=Codematic;Persist Security Info=True;User ID=sa;MultipleActiveResultSets=False;Packet Size=4096;Application Name=&quot;Microsoft SQL Server Management Studio&quot;"
          providerName="System.Data.SqlClient" />
      </connectionStrings>
      <appSettings>
        <!-- 连接字符串是否加密 -->
        <add key="ConStringEncrypt" value="false"/>
        <!-- 连接字符串,(可以扩展支持不同数据库)如果是加密方式,上面一项要设置为true,如果是明文server=127.0.0.1;database=codematic;uid=sa;pwd=,上面设置为false -->    
        <add key="ConnectionString" value="server=.;database=codematic;uid=sa;pwd=sasa"/><!--8618B53C32BF8E0B6CD3BDFF59B9F24BE1C6D586A5915C8B6DC69A09ABB2DF60A4026BDE8E76B6FDE2BFCEA3FA8E06CB-->
        <add key="ConnectionString2" value="server=127.0.0.1;database=codematic2;uid=sa;pwd="/>
        <!--虚拟目录名称(如果是站点,则为空) -->
        <add key="VirtualPath" value=""/>
        <!--网站域名,本地目录可以用.   -->
        <add key="WebURL" value=""/>
        <!--默认菜单是否是展开状态-->
        <add key="MenuExpanded" value="false"/>    
        <!--是否把日志写入文件ErrorMessage.txt-->
        <add key="LogInFile" value="false"/>
        <!-- 是否把日志写入数据库-->
        <add key="LogInDB" value="true"/>
        <!-- 保留最近日志天数-->
        <add key="LogLastDays" value="1"/>
        <!--文档的图片上传(images下的)文件夹名-->
        <add key="UpNewsImageFolder" value="ImgNewsup"/>
        <!--图片文件夹名-->
        <add key="ProductImageFolder" value="ProductImages"/>    
        <!--管理员所属部门名称,-->
        <add key="AdManager" value="管理部"/>
        <!--实体对象内容缓村的时间(分钟)-->
        <add key="ModelCache" value="30"/>
      </appSettings>
      <system.web>    
        <httpRuntime executionTimeout="3600" maxRequestLength="1048576"/>
      <globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" />
        <compilation debug="true" />
        <customErrors mode="Off" />
        <identity impersonate="true"/>
        <authentication mode="Forms">
          <forms name="forums" path="/" loginUrl="Login.aspx" protection="All" timeout="40">
          </forms>
        </authentication>    
        </system.web>
    </configuration>问题是我在本地运行里可以导入Excel,发布上去就不行了
      

  6.   

     可能是excel格式问题,尝试下其他excel 直接用ftp上传上去试试?
      

  7.   

    我是要用Excel导入数据保存到数据库里面做处理,上传没有含义的,急急急,在线等~
      

  8.   

    你的strConn没看明白,Data Source前面为什么要由一个“+”号?里面只有一个引用的啊,“File1.Value.ToString() ”
    连接改成
    strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + File1.Value.ToString() + "';Extended Properties=Excel 8.0;"
    这样试试呢~
      

  9.   

    既然都能在本地运行成功.
    那估计应该是IIS配置的错误吧
      

  10.   

    有可能是你的Excal的表单名不是Sheet1
    你自己多检查下
      

  11.   

    打断点什么的我都用了,问题是现在我用VS2005运行没有一点问题,用IIS就报错啊~急啊~
      

  12.   

    本地测试可以,但是发布到服务器上出错的话,有一种问题,如果查询excel用的是绝对路径,那就需要先把excel上传到服务器上,然后才可以查询。如果直接查询,会找不到文件。
    我以前做的上传数据,也发生过这种问题!
      

  13.   

    你看看你文件夹上加没加everyone 权限!!!
    或者是你自己需要的权限!
      

  14.   

    问个问题啊,如果EXCEL表中有重复的数据,或者EXCEL表中要插入到数据库中的数据(有两条数据,对应在数据库中的主键一样,而在EXCEL表中其它的字段不一样),怎样将这样的EXCEL表插入到数据库中呢?
    批量更新用的?