这个错误是我在到入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;
}
这个错误弄了很久啊,希望大家能帮帮我,谢谢!
异常信息: 没有可用的错误消息,结果代码: 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;
}
解决方案 »
- 问个问题?
- 谁能共享一个数据库操作类,有缓存,事物的
- 怎么实现RadioButtonList组单位
- .net缓存
- 很奇怪的问题啊,我安装完win2003 的iis6后,看不到smtp服务器??为什么?
- 网页设计和编码的关系,大家讨论一下
- 我要如何用另一个C# 系统程序,不是asp.net程序,来读取此UserName Cookie值出来???
- 各位老大,给点思路:如何在winform中实现 一个可以拖动的控件,背景是网格,鼠标放手的时候贴靠的最近的格子??跪求。
- datagrid问题,帮忙看看
- 急!在线等!2个问题
- 使用radupload 出错怎么改啊?
- 使用ScriptManager控件中的<asp:ScriptReference>导入脚本文本与使用<script>导入脚本文件有什么区别?
像那个asp.net用户权限了,还有其他得一些权限等。
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
看能不能成功。
然后,文件夹 —〉属性
把IUSER_computerName 的用户添加到允许的列表。设置读写权限。
==================
根据错误提示
你要先检查你的数据连接串
然后看数据库是否能够打开
根本原因根据错物提示应该就是数据库方面的问题
在线等待,急急急急急急...