c#访问Excel问题
我有一个用于数据导入的页面,功能是由用户上传一个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);
// 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);
[解决办法]
应该是权限的问题,你可能在最近一天把excel所在目录的写入权限干掉了,建议你手动设置excel所在目录为everyone可写!
[解决办法]
光是你给的这点提示看不出来问题的
[解决办法]
DDDD
[解决办法]
这个是.net 的BUG反正很多人都释放不了的!
[解决办法]
System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection
这句提示是否有帮助,你是不是默认禁用掉了连接池?
[解决办法]
string strCon = "OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + excelDB + ";Extended Properties=Excel 8.0;HDR=Yes;IMEX=1";
[解决办法]
ConnString = "Provider=Microsoft.Jet.Oledb.4.0; Data Source=" + filepath + "; Extended Properties=\"Excel 8.0; HDR=No; IMEX=1;\"";
string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\Excels\\ScoreInfo.xls;Extended Properties=\"Excel 11.0;HDR=Yes;IMEX=1;\"";
检查系统日志,还有资源占用情况