OleDbConnection ConnectionString,打开多个文件时出现问题
OleDbConnection ConnectionString, issue on opening multiple files
我的项目是从带有 .mdb 的文件夹中提取一些属性到 .csv 文件。所有功能都在正常处理,但我对 ConnectionString 有疑问。
第一次运行时,它会为文件夹中的第一个文件打开连接并提取.csv 文件并关闭连接。目前一切顺利。
之后,当它访问文件夹中的第二个文件时,它以某种方式再次打开第一个文件的 ConnectionString,但该函数调用第二个 .mdb 文件。我怎样才能让它打开第二个文件?
static void Main()
{
CreateFolder();
string dst_fld = @"C:\csv\AllCsvFiles";
string src_fld = @"C:\mdb";
string dst_ext = ".mdb";
string[] mdb_array = Directory.GetFiles(src_fld, "*" + dst_ext, SearchOption.TopDirectoryOnly); // Get all mdb files from a folder
OleDbConnection cn = new OleDbConnection();
foreach (string tname in mdb_array)
{
cn.ConnectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}",mdb_array);
try
{
cn.Open(); // open the connection
ExportFunction(cn, tname, dst_fld); // call function for export the csv file
}
finally
{
cn.Close();
}
}
GetCSVFiles();
DeleteFF();
}
正如@steve16351 所指出的,您需要按如下方式更改连接字符串:
cn.ConnectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}", tname);
我的项目是从带有 .mdb 的文件夹中提取一些属性到 .csv 文件。所有功能都在正常处理,但我对 ConnectionString 有疑问。
第一次运行时,它会为文件夹中的第一个文件打开连接并提取.csv 文件并关闭连接。目前一切顺利。
之后,当它访问文件夹中的第二个文件时,它以某种方式再次打开第一个文件的 ConnectionString,但该函数调用第二个 .mdb 文件。我怎样才能让它打开第二个文件?
static void Main()
{
CreateFolder();
string dst_fld = @"C:\csv\AllCsvFiles";
string src_fld = @"C:\mdb";
string dst_ext = ".mdb";
string[] mdb_array = Directory.GetFiles(src_fld, "*" + dst_ext, SearchOption.TopDirectoryOnly); // Get all mdb files from a folder
OleDbConnection cn = new OleDbConnection();
foreach (string tname in mdb_array)
{
cn.ConnectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}",mdb_array);
try
{
cn.Open(); // open the connection
ExportFunction(cn, tname, dst_fld); // call function for export the csv file
}
finally
{
cn.Close();
}
}
GetCSVFiles();
DeleteFF();
}
正如@steve16351 所指出的,您需要按如下方式更改连接字符串:
cn.ConnectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}", tname);