Чтение данных из XML с помощью OleDB
Суть проблемы следующая: необходимо с помощью OleDB читать данные из excel.xml. Но при открытии создании соединения выскакивает следующая ошибка:
System.Data.OleDb.OleDbException (0x80004005): Could not find installable ISAM.
На компьютере установлены:
- Microsoft Access Database Engine 2010 Redistributable X64
- Microsoft Access Database Engine 2016 Redistributable X64
Данная ошибка происходит только с файлами XML. Файлы XLS открываются без проблем.
Строка подключения для XLS (Работает отлично):
_fileName = "C:\excel.xls"
_connectionString = $"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={_fileName};Extended Properties=\"Excel 8.0;HDR=YES\"";
Код со строкой подключения для XML:
_fileName = "C:\excel.xml"
_connectionString = $"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={_fileName};Extended Properties=\"Excel 8.0 XML;HDR=YES\"";
using (var connection = new OleDbConnection(_connectionString))
{
connection.Open(); // Exception "Could not find installable ISAM."
...
}
Никак не могу разобраться в чем проблема. Пробовал различные строки подключения, но ничего не помогает:
$"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={_fileName};Extended Properties=\"Excel 8.0;HDR=YES\"";
$"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={_fileName};Extended Properties=\"Excel 12.0;HDR=YES\"";
$"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={_fileName};Extended Properties=\"Excel 12.0 XML;HDR=YES\"";
Подскажите в чем может быть проблема? Куда мне стоит смотреть?