Доступ к двоичному файлу Excel 2007 (.xlsb) через OleDb ACE

Я обнаружил, что двоичный формат Excel 2007 (с расширением .xlsb) идеально подходит для моих нужд, поскольку он быстро загружается и очень компактен. Я доставляю кучу отчетов в Excel, которые содержат много данных, и эти отчеты фактически загружаются с помощью пакета IS.

Поэтому я предполагал преобразование именно в этот формат, читайте документацию по Access Ole DB Provider 12, где написано, что xlsb поддерживается этим провайдером. Я преобразовал файлы в Excel, а затем при попытке изменить их в пакетах (просто изменив путь к файлу, добавив суффикс «b»), я получил следующее сообщение об ошибке:

"Test connection failed because of an error in initializing provider. This 
file was created in a previous beta version of Excel 2007.  Open the file 
with Excel 2007 to save it to the most recent version of the Excel 2007 file 
format before opening the file in Access 2007."

Что ж, я подумал, что это может быть какая-то проблема с преобразованием файла, поэтому я взял новый и заполнил его некоторой информацией. Попробовал снова, та же ошибка !!

Затем я пробовал подход с файлами ".udl", та же ошибка! Затем я попытался протестировать на разных машинах: - Моя (Windows Vista SP1) - Мои коллеги (Windows XP SP2) - IS Server (Windows Server 2003 x64 SP2)

И ошибка сохраняется. Мне было так легко воспроизвести ошибку, что я немного удивлен, что я ничего не нашел об этом, погуглил!

Кто-нибудь может мне помочь?

Заранее спасибо, Рафаэль


person Community    schedule 23.12.2008    source источник
comment
Извините, что комментирую этот очень старый вопрос, но вы когда-нибудь находили решение этой проблемы? Заранее спасибо!   -  person Xuntar    schedule 02.01.2012
comment
У меня такая же проблема на 64-битной машине, на которой работает наш сервер сборки. Из-за этого не удалось выполнить несколько модульных тестов. Установка 64-разрядного пакета не помогла.   -  person Machado    schedule 30.01.2012
comment
Хотя тот же 64-битный пакет отлично работает на 64-битном веб-сервере.   -  person Machado    schedule 30.01.2012
comment
моего ответа было достаточно?   -  person drarkayl    schedule 03.07.2013
comment
Я, честно говоря, не могу точно понять, когда и как вы получаете ошибку, но я могу select и update файл .xlsb прекрасно использовать OleDbConnection, используя C #.   -  person Mehrad    schedule 17.12.2014


Ответы (1)


Я знаю, что это старый пост. Я столкнулся с этой проблемой несколько дней назад, и после долгих попыток я смог ее решить. Надеюсь, это может кому-то помочь.

В моем случае у меня такая же точная ошибка:

Этот файл был создан в предыдущей бета-версии Excel 2007. Откройте файл в Excel 2007, чтобы сохранить его в самой последней версии формата файла Excel 2007, прежде чем открывать файл в Access 2007 ».

Это происходит, когда я пытаюсь открыть свое OldDB Connection. Я подозревал, что это произошло из-за моего синтаксиса строки подключения или проблемы со значением, но после огромного количества изменений ничего не работает.

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

1) Ядро базы данных Microsoft Access 2010 версии 14.0.7015 (Загрузите его по адресу здесь)

2) Ядро базы данных Microsoft Office Access 2007 версии 12.0.4581 (Получите его по адресу здесь)

И вот моя строка подключения, которая вызывает ошибку:

"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Project\Excel1.xlsb;Extended Properties='Excel 12.0;HDR={1}'"

А потом я обнаружил, что решает мои проблемы:

Microsoft Office Access Runtime and Data Connectivity 2007 с пакетом обновления 2 (SP2) < / а>.

Мне просто нужно скачать, запустить и перезагрузить машину. И тогда вуаля, я могу открыть свое соединение OleDB без этой ошибки.

Надеюсь, это поможет.

person Koo SengSeng    schedule 27.09.2015