OleDbConnection ConnectionString, проблема при открытии нескольких файлов

c# connection-string oledbconnection

144 просмотра

1 ответ

Мой проект заключается в извлечении некоторых атрибутов из папки с файлами .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();
}
Автор: athanikos Источник Размещён: 01.11.2019 07:13

Ответы (1)


1 плюс

Решение

Как указано @ steve16351, вам нужно изменить строку подключения следующим образом:

cn.ConnectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}", tname);
Автор: Sujeet Sinha Размещён: 21.06.2016 11:00
Вопросы из категории :
32x32