Юникод путь Oledb проблема - PullRequest
0 голосов
/ 28 мая 2018

Я поддерживаю старый код и столкнулся с непредвиденной ошибкой при подключении к базе данных MSAccess в Windows 7 через Jet.OleDB

В Windows 7 следующий код завершается ошибкой, так как путь не найденводитель.Тот же код в Windows XP и Windows 10 работает и выдает ожидаемую ошибку (потому что файл .mdb пуст)

using System.Data.OleDb;

namespace unicode_oledb_problem
{
    class Program
    {
        static void Main(string[] args)
        {
            string path = @"ł.mdb";
            using (System.IO.File.Create(path)) { }
            string connectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};", path);
            using (OleDbConnection conn = new OleDbConnection(connectionString))
            {
                conn.Open();
                // windows xp: OleDbException - Unrecognized database format
                // windows 7: OleDbException - Could not find file: ...
                // windows 10: OleDbException - Unrecognized database format
            }
        }
    }
}
...