Создание представления для таблиц SharePoint - плохой стиль?

Я работаю с sharepoint всего три месяца, но с самого начала мне сказали, что база данных контента SharePoint запрещена, поскольку MS может изменить схему в любое время. Рекомендуемый путь - использовать объектную модель, и в большинстве случаев я это понимаю.

Теперь мне нужно присоединиться к некоторым спискам, чтобы представить контент, сгруппированный по некоторым конкретным полям. Вместо того, чтобы перебирать каждый список, я бы предпочел связать нашу собственную базу данных, которая находится на том же сервере БД, с БД содержимого WSS и просто создать представление для таблиц. Это представление должно быть в нашей БД, чтобы мы НИЧЕГО не меняли в БД содержимого WSS.

Я на пути к вечному проклятию или нет?


person Kasper    schedule 07.11.2008    source источник


Ответы (4)


Да, вы. Microsoft совершенно ясно заявляет, что любые изменения в таблицах SharePoint делают вас неподдерживаемыми.

Прямое изменение базы данных SharePoint или ее данных не рекомендуется, так как это помещает среду в неподдерживаемое состояние.

Теперь создание ссылки на вашу собственную базу данных, которая запрашивает базу данных SharePoint, является шаткой почвой. Лично я бы сделал одно из двух:

  • Если это критически важное приложение, запустите его без поддержки MSFT.
  • Если это что-то еще, просто убедитесь, что ваше представление не блокирует БД во время запроса.

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

person Cory Foy    schedule 07.11.2008
comment
Хорошо, но разве это не открывает новую банку червя, вроде проблем с параллелизмом? Если процесс обновления выполняется одновременно с обновлением одного из списков пользователем? - person Kasper; 08.11.2008
comment
Не думайте, что это будет проблемой, поскольку сканирование данных, которое помещает данные в вашу собственную таблицу, будет получено из базы данных и вставлено в базу данных. База данных очень хорошо спроектирована, чтобы справиться с этим. - person Nat; 08.11.2008
comment
Конечно, но данные не синхронизируются до тех пор, пока поисковый робот не запустится снова. Думаю, мне следует подключиться к событиям в рассматриваемых списках, чтобы минимизировать эту проблему. - person Kasper; 08.11.2008
comment
Вот почему я сказал, если вы не возражаете против отставания. Если это очень важно (я имею в виду, достаточно важно, что у всех есть контракты на поддержку Premier, yada yada), то я могу указать вам на ресурсы, если вы свяжетесь со мной по адресу foyc at cornet design dot com. В противном случае ОМ и троеборье - ваш лучший выбор. - person Cory Foy; 09.11.2008

SharePoint в значительной степени полагается на полное «владение» базовой базой данных. Такие мелочи, как чтение другого процесса из базы данных SharePoint, потенциально могут неожиданным образом замедлить работу SharePoint.

Поскольку SharePoint обычно не обновляется «в реальном времени», его должно хватить для создания процесса, который запрашивает списки sharepoint и добавляет данные в таблицу в вашем собственном приложении.

Запланируйте сканирование на период низкой активности и вуаля - решение, которое не подвергнет риску неожиданного замедления работы SharePoint.

Начните поиск с запросов к SharePoint со страницы SPQuery.

person Nat    schedule 08.11.2008

Ознакомьтесь с SLAM, диспетчером сопоставления списков SharePoint. Он позволяет легко передавать данные SharePoint в SQL, включая сложные соединения (один к одному, один ко многим, многие ко многим). И данные синхронизируются в реальном времени.

http://slam.codeplex.com

person Community    schedule 10.05.2009

Что ж, если соединения, которые вам нужно сделать, довольно просты, определите связанный источник данных в SharePoint Designer может работать на вас

person Sam Yates    schedule 10.05.2009