Самый простой способ извлечь данные списка SharePoint в отдельную таблицу SQL Server?

Отредактировано: Каков самый простой способ очистить извлечение данных списка SharePoint в отдельную таблицу SQL Server? Одно условие: вы работаете в рабочей среде, где вы не контролируете SQL Server за SharePoint Server, поэтому вы не можете просто получать данные из таблицы UserData.

Существуют ли какие-либо утилиты, которые можно использовать для планирования ночного извлечения?

Планирует ли Microsoft какие-либо улучшения для «SharePoint 4»?

Обновление от 06 января 2009 г.:
http://connectionstrings.com/sharepoint
Для серверов, на которых Office не установлен, вам потребуется:
эта загрузка


person BuddyJoe    schedule 21.11.2008    source источник


Ответы (12)


Как сказал Райан, я бы также предложил использовать объектную модель/веб-сервисы для хранения данных в отдельной базе данных SQL. Я думаю, что лучший подход - написать обработчик событий, который будет срабатывать по минимуму и копировать данные, вставленные/обновленные пользователем.

person Toni Frankola    schedule 21.11.2008

Существует задача SSIS SharePoint, которую вы можете использовать для получения данных из обычного потока данных: http://www.codeplex.com/SQLSrvIntegrationSrv

person Community    schedule 09.12.2008

Выскабливание? Как в очистке экрана? Ты серьезно? ;)

2 варианта

Объектная модель SharePoint — http://msdn.microsoft.com/en-us/library/ms441339.aspx

Веб-службы SharePoint — http://msdn.microsoft.com/en-us/library/ms479390.aspx, в частности веб-служба списков

Веб-службы — это то, как Excel/Access взаимодействует с SharePoint для интеграции со своими списками.

На самом деле немного Google foo дает эти два результата: -

Подключение служб отчетов SQL к списку SharePoint

Доступ к элементам списка SharePoint с помощью служб отчетов SQL Server 2005

person Ryan    schedule 21.11.2008
comment
На самом деле, в зависимости от того, где развернуто ваше решение, вы можете быть ограничены только одним из этих двух вариантов. Хотя вы всегда можете использовать опцию веб-службы, объектная модель доступна только в том случае, если ваше решение работает на сервере sharepoint. - person Tundey; 21.11.2008
comment
Хороший момент — по многим причинам WebService является лучшим вариантом (например, более масштабируемым, поскольку он будет использовать любую веб-ферму, а не отдельный сервер), но недостатком является то, что он не так богат, как объектная модель. Поскольку Excel/Access используют его под капотом для работы, он должен быть достаточно богатым. - person Ryan; 21.11.2008
comment
Не имел в виду соскребание экрана .... может быть, плохой выбор слов. Я имел в виду очистку данных, или извлечение, или извлечение. - person BuddyJoe; 23.11.2008
comment
Хотя можно и Бруно, отсюда и смайлик. WebSerices — это путь - person Ryan; 24.11.2008

Двухминутный ответ — использовать Data Synchronization Studio от Simego (http://www.simego.com) просто укажите его в своем списке и базе данных, и он синхронизирует все изменения.

person Community    schedule 20.04.2009
comment
Неплохо, если у вас есть 749,95 долларов, которые можно бросить в брешь в стратегии Microsoft. Все еще интересно, какие варианты для SharePoint 4 будут. - person BuddyJoe; 21.04.2009

Доступен адаптер ADO.NET для MOSS 2007/2010 и WSS 3.0/4.0 под названием Camelot .NET Connector для Microsoft SharePoint. Он позволяет запрашивать списки в SharePoint с помощью стандартного языка SQL, используя SharePoint в качестве уровня данных.

Помимо коннектора, будет доступно большое количество инструментов и утилит с открытым исходным кодом, таких как веб-части для экспорта данных в различные форматы (XML, MySQL, ..), плагины Joomla, сервисы синхронизации и т. д.

Посетите http://www.bendsoft.com, чтобы получить дополнительные сведения и просмотреть веб-трансляции. В настоящее время BendSoft ищет бета-тестеров и приветствует все отзывы сообщества.

Пример:

ВЫБЕРИТЕ * ИЗ My Custom SharePoint List

INSERT INTO Calendar (EventDate,EndDate,Title,Location) ЗНАЧЕНИЯ («2010-11-04 08:00:00», «2010-11-04 10:00:00», «Утренняя встреча с Леей», «Starbucks» )

УДАЛИТЬ ИЗ Corp Images ГДЕ Image Name = 'marketing.jpg'

person Ulf    schedule 29.11.2010

Я написал об этом полную статью с пошаговыми снимками экрана. Он не использует какие-либо сторонние компоненты, только инструменты SQL BI и Sharepoint. Посмотрите здесь

http://macaalay.com/2013/11/01/how-to-archive-sharepoint-list-items-to-sql-server/

person Raymund    schedule 04.11.2013

Что касается вашего вопроса о «SharePoint 4», Билл Гейтс сделал несколько замечаний на конференции SharePoint 2008. Он предлагает обогатить таблицы SQL данными SharePoint и продолжает упоминать несколько других потенциально интересных вещей. Что именно он имеет в виду и поможет ли это решить вашу проблему в будущем, сложно сказать, пока мы не начнем видеть бета-версии WSS4/MOSS 14.

person Alex Angas    schedule 03.12.2008
comment
Будет интересно посмотреть, как разреженные столбцы тоже работают в миксе. - person BuddyJoe; 31.12.2008

Я бы выбрал программное обеспечение simego, но у меня нет денег, может быть, 15-дневной пробной версии будет достаточно!

person Community    schedule 17.06.2009
comment
Я думаю, я просто думаю, что это должно быть стандартом. Входит в сумму, которую вы платите за SharePoint. API для получения этих данных из SharePoint должен вызываться из стандартного драйвера ODBC. - person BuddyJoe; 20.06.2009

Если у вас установлен MOSS, каталог бизнес-данных можно настроить из центра администрирования Sharepoint для автоматической волшебной синхронизации данных. Это очень мощный продукт, включенный в состав MOSS. Мне нравится, когда у клиента это включено, поэтому я могу воспользоваться этим.

Но некоторые этого не делают, и для себя я обнаружил, что если у них нет запущенного и доступного BDC, они неизбежно не дают разработчикам много прав на SQL Server, поэтому SSIS вообще не может быть и речи (но, может быть, это просто меня). Без проблем; для них я соберу облегченный EXE-файл, который запускается по расписанию, запрашивает Lists.asmx и отправляет изменения в таблицу SQL Server. Довольно тривиальные вещи для простого списка, из которого ничего не удаляется. Приобретите Visual Studio 2008, CAML Builder и приготовьтесь хорошо провести время. Результаты Lists.asmx немного забавны тем, что каждое поле строки списка представляет собой отдельный узел с множеством атрибутов, без дочерних узлов... что-то вроде этого не приходит мне в голову... просто помните, что при кодировании ...

‹z:row ows_Id="1" ows_Field1="A1" ows_Field2="B1"/› ‹z:row ows_Id="1" ows_Field1="A2" ows_Field2="B2"/›

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

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

person Community    schedule 01.07.2009
comment
Спасибо за информацию. +1. В моей ситуации (текущая компания) BDC не рассматривается из-за ценообразования. Интересно, как эта функциональность будет реализована в следующей версии SharePoint? - person BuddyJoe; 06.07.2009

я написал код для этого, вы можете найти его здесь

извлечь данные из moss 2007

person user258880    schedule 02.04.2010

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

В противном случае консольное приложение/служба может использовать объектную модель, чтобы делать то же самое, но с большим контролем над информацией поля.

person Nat    schedule 21.11.2008

Я бы хотел, чтобы что-то подобное было намного проще сделать. Что-то, что не нуждалось в SSIS и сводилось к консольному инструменту, который считывает файл конфигурации xml для получения информации об источнике/цели/карте.

http://blogs.officezealot.com/mtblog/archive/2008/06/03/importing-list-data-into-sql.aspx

person BuddyJoe    schedule 03.12.2008