在本地机测试成功.编译后,建了个站点.测试也成功!但是上传到服务器,有一个功能就是出错.
就是上传excel到服务器,然后显示excel中的内容.经过排查,问题可能出在这段代码上.但看了好久,没看出这段代码有问题.代码如下:private void CreateDataSource(string filename)
    {
        try
        {
            string strCon;
            strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("upfile/" + filename) + "; Extended Properties=Excel 8.0;";
            OleDbConnection olecon = new OleDbConnection(strCon);
            OleDbDataAdapter myda = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", strCon);
            DataSet myds = new DataSet();
            myda.Fill(myds);
            DataTable tbllh = new DataTable();
            tb = myds.Tables[0];
            DataView dvllh = tb.DefaultView;
            GridView1.DataSource = dvllh;
            GridView1.DataBind();
        }
        catch (Exception ex)
        {
            Response.Write("<script>alert('"+ex.Message.ToString()+"')</script>");
        }
    }好像报错在此myda.Fill(myds);这一句上.
报错内容为:未指定的错误请大家帮我看看是什么问题.会不会是服务器权限的问题?我有查看过.文件是已经上传好了的.

解决方案 »

  1.   

    眼睛,看看你upfile文件夹的权限是不是可读?有没有everyone 这个用户?或者IIS中指定的匿名用户的那个帐户?以及对应的权限?
      

  2.   

    没有其它未说明的异常?
    你的服务端是否支持连接Excel?
      

  3.   

    tb哪来的,没定义吧
    是tbllh吧
      

  4.   

    应该是SHEET数据为空了。你加个判断吧.
      

  5.   

    可能遇到的问题,对文件权访问权不够,设为可写,asp.net账户或everyone,或者文件只读也会服务器不需要安装office,Excel,我试过成功的,但我安装了SQL 2000/2005企业版,可以读Excel,具体的没有深究。有个例子,参照对比一个,我这个是可以用的,fill方法建议指定表名string mystring = "Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = '" + PhysicalPath + "';Extended Properties=Excel 8.0";
                            OleDbConnection cnnxls = new OleDbConnection(mystring);
                            OleDbDataAdapter myDa = new OleDbDataAdapter("select * from [Sheet1$]", cnnxls);
                            DataSet Ds = new DataSet();
                            myDa.Fill(Ds, "sheet1");
                            this.gvUploadData.DataSource = Ds.Tables["sheet1"];
                            this.gvUploadData.DataBind();
      

  6.   

    看错了,你用的是datatable,我用的是dataset,应当是可以的
      

  7.   

    楼上有一位fly说数据集为空了.但是同样的代码,在我自己的本本上也和服务器上一样的错误,估计就是权限的问题.但就是不知道哪里不对.
    楼上的一些注意点都看这了.那个文件夹已经有足够的权限了.
      

  8.   

    偶自己知道是什么问题了.
    问题出在配置文件上:把这句<identity impersonate="true"/>
    改成:<identity impersonate="false"/>
    问题解决...