我正在尝试使用以下代码通过OLEDB阅读器读取HTML文件:
我正在尝试使用以下代码通过OLEDB阅读器读取HTML文件:
DataTable dTable;
string strDataSource = "";
string strDBFile = "";
long intPos = 0;
strDataSource = mstrFilePath;
dTable = new DataTable();
mCon = new System.Data.OleDb.OleDbConnection();
mCon.ConnectionString = ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + openFileDialog1.FileName + ";Extended Properties=\"HTML Import;HDR=NO;IMEX=1\";");
if (mCon.State == ConnectionState.Closed)
{
mCon.Open(); // gettting failed here
}
dTable = mCon.GetSchema("Tables");
bSelectionChanged = true;
lstTables.Items.Clear();
foreach (DataRow DRow in dTable.Rows)
{
if (DRow["TABLE_TYPE"].ToString() == "TABLE" || DRow["TABLE_TYPE"].ToString() == "VIEW")
{
intPos = DRow["TABLE_NAME"].ToString().LastIndexOf("FilterDatabase");
lstTables.Items.Add(DRow["TABLE_NAME"]);
}
}
if (lstTables.Items.Count == 1)
{
lstTables.Visible = false;
grdSampleDataControl.Dock = DockStyle.Fill;
}
else
{
lstTables.Visible = true;
grdSampleDataControl.Dock = DockStyle.None;
}
bSelectionChanged = true;
dTable.Dispose();
mCon.Close();
openFileDialog1.Dispose();
这里出现了异常,导致失败。
Microsoft Office Access数据库引擎无法打开或写入文件“”。它已经被其他用户独占打开,或者您需要权限来查看和编写其数据。
但是文件没有在任何地方打开?
编辑
在调试时,当它在mCon.Open()
处抛出异常时,如果我按F10,则编译器会移动到下一条语句并成功运行程序。为什么会这样呢?
D:\Projects\CDR_RAW_FILES\8435921487.htm
。 - Rajeev Kumar