Это ошибка с внутренними именами столбцов / полей SharePoint в MOSS 2007 - PullRequest
1 голос
/ 27 февраля 2009

В SharePoint MOSS 2007, похоже, есть ошибка со столбцами.

Позволяет добавить новый столбец с названием «Команда». Когда вы добавляете это, оно сохраняет внутреннее имя как «Команда», что имеет смысл. Затем компания решает, что «Team» следует называть «Workstream», поэтому вы переименовываете ее в соответствии с запросом. Внутреннее имя остается «Team» для этого столбца в корневом семействе сайтов.

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

Теперь меня попросили экспортировать и импортировать все семейство сайтов на другой сервер. Когда я делаю это, stsadm.exe сообщает, что обнаружил дубликат столбца и выдает ошибки.

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

Кто-нибудь может предложить подход, чтобы это исправить?

Ответы [ 2 ]

1 голос
/ 27 февраля 2009

Звучит как ошибка, и я не знаю, как обойти это с самого верха. Я не верю, что в любом случае можно изменить внутреннее имя столбца.

Вот некоторые мысли, которые у меня есть:

Возможно, вы захотите взглянуть на сторонний инструмент для обновления, такой как metalogix , в конечном итоге он может оказаться проще и экономичнее, чем тратить время на написание собственного кода для одноразового проекта миграции. 1007 *

Если вы можете разбить сайты на разные семейства сайтов на новом сервере, который должен решить проблему.

Возможно, вы сможете сделать резервную копию и восстановить базу данных контента на новом сервере, а затем подключиться к нему.

удачи

0 голосов
/ 02 марта 2009

Хитрость заключается в добавлении столбцов только с использованием XML-схемы вместо использования внешнего интерфейса. Обычно я делаю это, используя решение / функцию, содержащую все определения полей и типы контента.

Поскольку у вас уже есть добавленные типы контента, вам, возможно, потребуется использовать такой инструмент, как Менеджер SharePoint , чтобы просмотреть схему xml и представить новую. Это дает больше контроля над точным определением для любых полей.

Никогда не может быть двух полей с одинаковым внутренним именем. У нас возникла проблема, когда поля были определены на сайте с помощью /_layouts/settings.aspx, а также на уровне списка. Насколько я могу судить, когда сайт восстанавливается, он пытается добавить любые поля из уровня списка или дочернего сайта в базовый сайт (предупреждение: мнение формируется только путем просмотра ошибок журнала и проб и ошибок, а не фактических фактов), и это там, где, кажется, не получается. Убедиться в том, что все поля определены согласованно, с помощью XML-схемы (проще всего это сделать с помощью функции, определяющей типы контента), может помочь сгладить проблемы. То есть все поля с одинаковым именем имеют одинаковое имя guid и т. д. на всех сайтах.

Примечание: У нас также были проблемы с межсайтовыми запросами после добавления полей вручную. В коде запроса есть некоторые ошибки (я полагаю, что он исправлен в стеке MS), что означает, что он основан на полях, определенных в определенном порядке в базовых таблицах.

...