Чтение данных из XML с помощью OleDB

Суть проблемы следующая: необходимо с помощью OleDB читать данные из excel.xml. Но при открытии создании соединения выскакивает следующая ошибка:

System.Data.OleDb.OleDbException (0x80004005): Could not find installable ISAM.

На компьютере установлены:

  1. Microsoft Access Database Engine 2010 Redistributable X64
  2. 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\"";

Подскажите в чем может быть проблема? Куда мне стоит смотреть?


Ответы (0 шт):