Я пытаюсь разработать решение для доступа к данным в Excel 2010 (и предыдущих версиях). Ниже перечислены некоторые требования / ограничения высокого уровня:
- Данные хранятся в базе данных.
- Пользователи не должны иметь возможность подключаться к базе данных напрямую.
- Типы доступа к данным, которые им, вероятно, понадобятся, будут использоваться другими приложениями.
- Пользователи захотят работать с данными, напрямую импортируя их в рабочие таблицы, а также через VBA.
Насколько я знаю, я подумал о следующем
- WCF Сервис
- Может использоваться другими приложениями
- Введет задержку (если это проблема)
- Не может использоваться непосредственно в рабочей таблице без VBA?
- Службы данных WCF
- Может использоваться другими приложениями
- Более хорошая модель для выставления (через EF) и работы с (RESTful, OData)
- Введет задержку (если это проблема)
- Может потребляться PowerPivot напрямую
- Не может использоваться непосредственно в рабочей таблице без VBA?
- Совместимо только с 2010 без VBA
- Веб-запрос
- Требуется больше усилий для сборки (потребуется собрать фасад ASP.NET перед базой данных)
- Может потребляться непосредственно в рабочей таблице без VBA
- Совместим со всеми необходимыми версиями Excel
- Плохой механизм предоставления данных для других приложений (не в Excel)
Я начинаю думать, что не существует единого размера, все решение не существует, и ему придется создать интерфейс для прямого доступа к рабочему листу и другой интерфейс для всего остального, будь то служба данных типа SOAP или REST.
У кого-нибудь есть предложения / опыт?
Спасибо