2011-01-21 2 views
1

Я использую следующий код, чтобы установить строку соединения на моем локальном компьютере, который имеет Office 2007, SQL Server 2008:ACE OLEDB 12,0 и XLSX проблемы

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), потому что я получаю эту ошибку:

External table is not in the expected format

Что я делаю неправильно?

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

Спасибо заранее

+0

Такая же ошибка при создании проекта с помощью простого соединения: – RedEagle

ответ

0

У меня есть аналогичная проблема (см. Мой пост IIS and OLE DB External table is not in the expected format). Я начинаю думать, что ACE имеет серьезную проблему, поскольку мои строки подключения ACE 12.0.

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

Смежные вопросы