OleDbConnection ConnectionString,打开多个文件时出现问题

时间:2016-06-21 10:24:59

标签: c# connection-string oledbconnection

我的项目是从.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();
}

1 个答案:

答案 0 :(得分:1)

正如@ steve16351所指出的,您需要更改连接字符串,如下所示:

cn.ConnectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}", tname);