我有一个用于数据导入的页面,功能是由用户上传一个excel文件,将内容导入到数据库中,程序运行一切正常。
但是现在每隔一两天都会出现一次问题:
未指定的错误 在 System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection)这时重启一次IIS后就会好起来了,推测可能是读入数据后没有释放完资源导致的,但是自我感觉已经把该释放的都释放了。
下面是读取excel文件的代码:// excelDB 是Excel文件名
DataSet ds = new DataSet();
string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + excelDB + ";Extended Properties=Excel 8.0;";
using (OleDbConnection OleDB = new OleDbConnection(strCon))
{
OleDB.Open();
OleDbDataAdapter OleDat = new OleDbDataAdapter("select * from [Sheet1$]", OleDB);
OleDat.Fill(ds);
OleDat.Dispose();
OleDB.Close();
}
File.Delete(excelDB);
但是现在每隔一两天都会出现一次问题:
未指定的错误 在 System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection)这时重启一次IIS后就会好起来了,推测可能是读入数据后没有释放完资源导致的,但是自我感觉已经把该释放的都释放了。
下面是读取excel文件的代码:// excelDB 是Excel文件名
DataSet ds = new DataSet();
string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + excelDB + ";Extended Properties=Excel 8.0;";
using (OleDbConnection OleDB = new OleDbConnection(strCon))
{
OleDB.Open();
OleDbDataAdapter OleDat = new OleDbDataAdapter("select * from [Sheet1$]", OleDB);
OleDat.Fill(ds);
OleDat.Dispose();
OleDB.Close();
}
File.Delete(excelDB);
OleDat.Dispose();这种情况属于创建连接时内部错误。下次遇到后,看能不能把堆栈信息贴出来?
E:\www\website\InExcel\201006010827191898.xls未指定的错误 在 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()
{
}
catch
{}
finilay
{
}
防止出现异常有资源放不了我推测是文件上传的问题,没找到文件所致,检查一下文件是否存在
我确定文件是存在的
// excelDB 是Excel文件名
DataSet ds = new DataSet();
string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + excelDB + ";Extended Properties=Excel 8.0;";
using (OleDbConnection OleDB = new OleDbConnection(strCon))
{
//OleDB.Open();
OleDbDataAdapter OleDat = new OleDbDataAdapter("select * from [Sheet1$]", OleDB);
OleDat.Fill(ds);
//OleDat.Dispose();
//OleDB.Close();
}
File.Delete(excelDB);
不知道你用这个行不!
反正我的机子就是释放不了的!
我的系统是WIN7 办公2007
现在的问题在于导入,我导入有问题的时候导出还是没有问题的.
string strCon = "OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + excelDB + ";Extended Properties=Excel 8.0;HDR=Yes;IMEX=1";
还有其他可能性吗?
string strCon = "OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + excelDB + ";Extended Properties=Excel 8.0;HDR=Yes;IMEX=1";
怎么会提示找不到 ISAM?是不是你的连接字符串敲错了?
检查系统日志,还有资源占用情况