Вот что мы придумали для копирования одного поля в другое для ~ 150_000 записей. Это заняло около 6 минут, но все еще значительно менее ресурсоемким, чем это было бы для создания экземпляра и повторения одного и того же количества объектов ruby.
js_query = %({
$or : [
{
'settings.mobile_notifications' : { $exists : false },
'settings.mobile_admin_notifications' : { $exists : false }
}
]
})
js_for_each = %(function(user) {
if (!user.settings.hasOwnProperty('mobile_notifications')) {
user.settings.mobile_notifications = user.settings.email_notifications;
}
if (!user.settings.hasOwnProperty('mobile_admin_notifications')) {
user.settings.mobile_admin_notifications = user.settings.email_admin_notifications;
}
db.users.save(user);
})
js = "db.users.find(#{js_query}).forEach(#{js_for_each});"
Mongoid::Sessions.default.command('$eval' => js)
Вы попробовали, aspnet_regiis exe в папке платформы?
Или допустите, что пользователь, уровень доступа к тому каталогу, или изменяют идентификационные данные, которые пул приложений приложения выполняет под - в менеджере по IIS, определяет, какой Пул приложений используется, чтобы запустить Ваше приложение, затем в разделе App Pool менеджера по IIS, посмотреть на свойства для того пула - вкладка, которую Вы хотите, "Идентификационные данные", я думаю (это первое, что пришло на ум).
Можно установить его на другую учетную запись пользователя - например, Crystal Reports .NET требует обновления, и удалите доступ к C:\Temp - таким образом, мы имеем пользователя "веб-мастера", с доступом администратора, и используем те идентификационные данные для тех приложений.
Можно попытаться зафиксировать его с помощью автоматизированной regiis утилиты aspnet_regiis.ext доступный в c:\windows\microsoft.net\framework\v2.0.50727
Иначе просто вручную добавьте необходимые полномочия файла, как отмечено по ошибке.
Удостоверьтесь, что у пользователя ASPNET есть разрешение записать в ту папку. Щелкните правой кнопкой по папке, Свойствам, вкладке безопасности.
вы можете щелкнуть правой кнопкой мыши Visual Studio и выбрать запуск от имени администратора.