Миграция пользователей с помощью DotNetNuke 5.6.2 - PullRequest
0 голосов
/ 13 мая 2011

Мне нужно перенести информацию о пользователях из действующей БД в ее новый дом (который был создан с помощью резервной копии действующей БД, поэтому я только собираюсь переносить новых пользователей через него (работает sql sqerver 2005)

Я могу перенести таблицы aspnet_ без каких-либо проблем

Однако, когда я пытаюсь сделать таблицу пользователей, в ней появляются ошибки:

Msg 512, Уровень 16, Состояние 1, Процедура Mailing_list, Линия18 Подзапрос возвратил более 1 значения. Это недопустимо, если подзапрос следует =,! =, <, <=,>,> = Или когда подзапрос используется в качестве выражения.

Запрос

begin TRAN
SET IDENTITY_INSERT TargetDB.dbo.users ON

INSERT INTO TargetDB.dbo.users (UserId, UserName, FirstName, LastName, IsSuperUser,
                                AffiliateId, Email, DisplayName, UpdatePassword)
(SELECT dnnu.UserId, dnnu.username, dnnu.firstname, dnnu.lastname, 
        dnnu.isSuperuser, dnnu.AffiliateId, dnnu.Email, dnnu.DisplayName, 
        dnnu.UpdatePassword
FROM LiveDB.dbo.users dnnu
    INNER JOIN LiveDB.dbo.aspnet_users u
        ON (dnnu.username = u.username)

WHERE dnnu.username NOT IN (SELECT username
                            FROM TargetDB.dbo.users))

SET IDENTITY_INSERT TargetDB.dbo.users OFF
commit TRAN

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

Любая помощь будет принята с благодарностью

Заранее спасибо Мэтт

1 Ответ

3 голосов
/ 13 мая 2011

Проведя час или два в прошлый день, глядя на эту проблему и решив задать вопрос, я бросил второй взгляд, и он меня поразил.

На столе был триггер для вставки / обновления, и это былобросив шаткое падение, он запустил запрос и теперь работает

...