Я поддерживаю старый код и столкнулся с непредвиденной ошибкой при подключении к базе данных 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
}
}
}
}