这个错误是我在到入Excel数据到gridview中时出错的,怎么回事啊,我在服务器上可以正常运行,但是当到客户端就不行了,报了下面的错误。客户端和服务器端都都装了office 2003,版本一样的,如果是权限问题的话,我都把asp.net,guest,everyone,announce,加到iis里面去了,而且是完全控制的权限。 
这个错误弄了很久啊,希望大家能帮帮我,谢谢! 
异常信息: 没有可用的错误消息,结果代码: E_FAIL(0x80004005)。 
错误源:System.Data 
堆栈信息: 在 System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) 在 System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) 在 System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) 在 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) 在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) 在 System.Data.OleDb.OleDbConnection.Open() 在 InputDataBLL.InputExcel(String Path, String TableName) 位置 d:\Stock\App_Code\Bussiness\InputDataBLL.cs:行号 33 在 manager_Supplier_InputSupplier.Button1_Click(Object sender, EventArgs e) 位置 d:\Stock\manager\InputData.aspx.cs:行号 114 在 System.Web.UI.WebControls.Button.OnClick(EventArgs e) 在 System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) 在 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) 在 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) 在 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 
------------------------------------------------------------------------- 
源码: 
/// <summary> 
    /// 导入数据到数据集中 
    /// </summary> 
    /// <param name="Path"> </param> 
    /// <returns> </returns> 
    public DataTable InputExcel(string Path,string TableName) 
    { 
        string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Path + ";" + "Extended Properties=Excel 8.0;"; 
        OleDbConnection conn = new OleDbConnection(strConn); 
      conn.Open();        string strExcel = ""; 
        OleDbDataAdapter myCommand = null;        
        strExcel = "select * from ["+TableName+"$]"; 
        myCommand = new OleDbDataAdapter(strExcel, strConn); 
        DataTable dt = new DataTable(); 
        myCommand.Fill(dt);      
        conn.Close(); 
        return dt; 
    } 

解决方案 »

  1.   

    有可能是服务器得一些权限没有给,不防试试,
    像那个asp.net用户权限了,还有其他得一些权限等。
      

  2.   

    你先执行一下这句看看 string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Path + ";" + "Extended Properties=Excel 8.0;"; 
            OleDbConnection conn = new OleDbConnection(strConn); 
          conn.Open();
    看能不能成功。
      

  3.   

    oledbconnection 连接字符串错误,你还是用向导去建一个。
      

  4.   

    找到你网站的文件夹
    然后,文件夹 —〉属性
    把IUSER_computerName 的用户添加到允许的列表。设置读写权限。
      

  5.   

    错误源:System.Data
    ==================
    根据错误提示
    你要先检查你的数据连接串
    然后看数据库是否能够打开
    根本原因根据错物提示应该就是数据库方面的问题
      

  6.   

    我的发布之后的程序到上面都一直没有报错,只是到执行查询语句时才报:找不到Excel里面那个制定的表呀。真不知道该怎么办,请高手进来帮忙呀!!!请问将Excel表里面的数据导入到数据库还有其他方法吗???请高手前来赐教
    在线等待,急急急急急急...
      

  7.   

    改Excel里面的表名已经试过了可还是出现“找不到**表”的错误呀...
      

  8.   

    看下是不是系统TEMP文件夹访问权限不够?