2013-03-28 2 views
0

Я использовал список адаптер SharePoint из CodePlex SSIS Adapter передать мой список SharePoint элементов на сервер SQL 2008. Поле выбора людей/группы пришло с нездоровыми персонажами какВыпуска данных в Экспорте данных из SharePoint в SQL

10 ; #Mark, Brown 4; #Samantha, Brown 100; #Tim, Коллинз

Если поле имеет несколько человек, он показывает, как это: 7; #Sigmon, Russel; # 18; # Colby, Fox; # 23; #Rina, Meyer

Я рассматриваю два пути решения этой проблемы.

1) Определить источник проблемы и устранить источник: В этом варианте, я знаю, что эти #s не являются случайными, но SharePoint присваивается идентификатор каждого лица, и, # являются любым separators.Can предложить как избавиться от этих #s и; # в пакете, созданном с использованием вышеуказанной ссылки Codeplex? есть ли другой способ, чтобы это было разрешено из списка SharePoint? или в пакете (SSIS)?

2) Правильно это в SQL: Может быть создать ХП/функцию, вырезать эти символы и просто разделенные запятой чистые имена? Может ли кто-нибудь указать мне, как?

Пожалуйста, дайте мне знать ваши мысли. Благодарю.

ответ

0

У меня есть пакет SSIS, который также применяет один и тот же адаптер SharePoint для получения информации из нескольких документов, опубликованных в нескольких местах списка SharePoint. У меня была аналогичная проблема, и я применил второй подход, который вы рассматриваете, применяя SQL. Записи SharePoint сначала втягиваются во временную промежуточную таблицу базы данных, в которой я применяю несколько операторов SQL UPDATE для очистки данных, включая удаление случайных символов #. После этого записи затем нормализуются в конечную таблицу назначения. В вашем случае вам может потребоваться применить синтаксический анализ SQL значения (используя «#») и, возможно, применить курсор, чтобы поместить каждое имя в отдельные записи ... если это возможное намерение.

Надеюсь, это поможет. Дайте знать, если у вас появятся вопросы.

Спасибо.

+0

Привет, Кош, Спасибо за ваш i/p. Первоначально я также думал то же самое, но нашел более эффективное решение - SQL CLR. Если вы могли бы написать функцию CLR SQL и развернуть эту функцию на SQL Server, вы можете передать нужный столбец функции, которая анализирует данные и дает u, что вам нужно в простом запросе SELECT. Я сделал это именно так. Я пробовал делать так, как ты сказал, но был расстроен. – Nemo

0

ли это так ...

подстроку ([Создано], CHARINDEX ('#', [Создано]) + 1, Len ([Создано]) - CHARINDEX ('#', [Создано])) as [Создано]

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