Microsoft Jet数据库引擎无法打开 [英] The Microsoft Jet database engine cannot open
本文介绍了Microsoft Jet数据库引擎无法打开的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
你好,
我得到以下错误:
hello ,
I get Following error :
The Microsoft Jet database engine cannot open the file 'D:\AspProject\ExportToExcel\Web\UploadFiles'. It is already opened exclusively by another user, or you need permission to view its data.
推荐答案
string strFileType = System.IO.Path.GetExtension(filepath.ToLower());
string sSourceConstr = String.Empty;
if (strFileType.Trim() == ".xls")
{
sSourceConstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =" + filepath + "; Extended Properties=\"Excel 8.0; HDR=Yes; IMEX=2\"";
}
else if (strFileType.Trim() == ".xlsx")
{
sSourceConstr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" + filepath + "; Extended Properties=\"Excel 12.0; HDR=Yes; IMEX=2\"";
}
string sDestConstr = ConfigurationManager.ConnectionStrings["Class"].ConnectionString;
OleDbConnection sSourceConnection = new OleDbConnection(sSourceConstr);
using (sSourceConnection)
{
sSourceConnection.Open();
string sql = "select * from [" + dr["SheetName"].ToString() + "]"; //"select * from
,sheet
OleDbCommand command = new OleDbCommand(sql,sSourceConnection);
OleDbDataAdapter da = new OleDbDataAdapter();
da = new OleDbDataAdapter(command);
DataSet ds = new DataSet();
da.Fill(ds);
if (ds.Tables.Count > 0 )
{
DataTable dt = ds.Tables [ 0 ];
if (dt.Rows.Count > 0 )
{
用户objUser =(用户)会话[ UserSession跨度>];
string curUser = objUser.UserId;
DataColumn dcUser = new DataColumn();
dcUser.ColumnName = CreatedBy;
dcUser.DefaultValue = curUser;
dt.Columns.Add(dcUser);
DataColumn dcCreatedOn = new DataColumn();
dcCreatedOn.ColumnName = CreatedOn;
dcCreatedOn.DataType = System.Type.GetType( System.DateTime);
dcCreatedOn.DefaultValue = DateTime.Now;
dt.Columns.Add(dcCreatedOn);
int newsNo = dt.Rows.Count;
string table =( ZipUpload + _ + dr [ SheetName]。ToString()。替换(
",sheet OleDbCommand command = new OleDbCommand(sql, sSourceConnection); OleDbDataAdapter da = new OleDbDataAdapter(); da = new OleDbDataAdapter(command); DataSet ds = new DataSet(); da.Fill(ds); if (ds.Tables.Count > 0) { DataTable dt = ds.Tables[0]; if (dt.Rows.Count > 0) { Users objUser = (Users)Session["UserSession"]; string curUser = objUser.UserId; DataColumn dcUser = new DataColumn(); dcUser.ColumnName = "CreatedBy"; dcUser.DefaultValue = curUser; dt.Columns.Add(dcUser); DataColumn dcCreatedOn = new DataColumn(); dcCreatedOn.ColumnName = "CreatedOn"; dcCreatedOn.DataType = System.Type.GetType("System.DateTime"); dcCreatedOn.DefaultValue = DateTime.Now; dt.Columns.Add(dcCreatedOn); int newsNo = dt.Rows.Count; string table = ("ZipUpload"+"_"+dr["SheetName"].ToString().Replace("
, ) );
string conString = ConfigurationManager.ConnectionStrings [ 类跨度>]的ConnectionString。
CommonBase objCommonBase = new CommonBase();
objCommonBase.DeletTableData(table);
FileUploadBase objFileUpload = new FileUploadBase();
objFileUpload.BulkInsert(dt,table,conString);
lblMessage.Text = 文件已成功上传!< br />记录: + newsNo + < br />;
lblMessage.ForeColor = System.Drawing.Color.Green;
","")); string conString = ConfigurationManager.ConnectionStrings["Class"].ConnectionString; CommonBase objCommonBase = new CommonBase(); objCommonBase.DeletTableData(table); FileUploadBase objFileUpload = new FileUploadBase(); objFileUpload.BulkInsert(dt, table, conString); lblMessage.Text = "File uploaded successfully! <br /> No. of Record: " + newsNo + "<br />"; lblMessage.ForeColor = System.Drawing.Color.Green;
使用这个我解决我的问题谢谢你好!
using This i solve My Problem Thank U Guys!
这篇关于Microsoft Jet数据库引擎无法打开的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文