Проблемы ACE Oledb 12.0 и XLSX - PullRequest
       43

Проблемы ACE Oledb 12.0 и XLSX

1 голос
/ 21 января 2011

Я использую следующий код для установки строки подключения на моем локальном ПК с Office 2007, SQL Server 2008:

string connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + MapPath(Request.ApplicationPath) + "\\" + excelFolderName + fileName + ";Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1\"";

Моя ОС - Windows 7 (64-разрядная), и я 'я могу читать XLS и XLSX файлы без проблем.

Я выпустил свой проект в MS Server 2003 R2 Standard Edition X64 и столкнулся с некоторыми проблемами, потому что у меня не былоACE OLEDB 12.0 установлен, я установил «Microsoft Access Database Engine 2010 Redistributable» и не могу прочитать XLS файлов.

Проблема возникает, когда я пытаюсь открыть XLSX (которые были созданы с помощьюOffice 2007), потому что я получаю эту ошибку:

Внешняя таблица не соответствует ожидаемому формату

Что я делаю не так?

Не знаюЯ не хочу устанавливать предыдущий «Microsoft Access Database Engine 2007 Redistributable», потому что он имеет только 32-битную версию, которая вынуждает меня создавать мой проект как 32-битный ...

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 16 мая 2017

У меня похожая проблема (см. Мой пост Внешняя таблица IIS и OLE DB не соответствует ожидаемому формату ).Я начинаю думать, что ACE имеет серьезную проблему, поскольку мои строки подключения ACE 12.0.

Поскольку вы используете Excel 2007, вы все равно можете использовать Jet, и это может решить вашу проблему.Если вы используете Excel 2010 и более поздние версии, то вы должны использовать ACE.

0 голосов
/ 24 января 2011

Может быть, вам нужны разные строки подключения для файлов .xlx и .xlxs? Посмотрите на это, это может быть полезно: http://www.arboundy.com/2010/11/the-microsoft.ace.oledb.12.0-provider-is-not-registered-on-the-local-machine/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...