Какое разрешение я должен использовать SqlBulkCopy в SQL Server 2008?

С помощью LINQ, хороший ответ by @seriesOne можно немного упростить, заменив операторы foreach и return на:

// using System.Linq;

// Look for a match...
var result = cases
    .Where(c => c.Item3(subArea, c.Item1))
    .FirstOrDefault();

// Return the match or the default.
return result == null ? "ABCXYZ123" : result.Item2;

21
задан Jonathan Allen 17 March 2009 в 17:38
поделиться

3 ответа

http://msdn.microsoft.com/en-us/library/ms162802.aspx

А BCP операция требует ИЗБРАННОГО разрешения на исходной таблице.

А, которых минимально требует BCP в операции, ВЫБИРАЮТ/ВСТАВЛЯЮТ полномочия на целевой таблице. Кроме того, разрешение ALTER TABLE требуется, если какое-либо следующее верно:

  • Ограничения существуют, и подсказка CHECK_CONSTRAINTS не определяется. ms162802.note (en-us, SQL.100) .gifNote: Отключение ограничений является поведением по умолчанию. Для включения ограничений явно используйте-h опцию с подсказкой CHECK_CONSTRAINTS.

  • Триггеры существуют, и подсказка FIRE_TRIGGER не определяется. ms162802.note (en-us, SQL.100) .gifNote: По умолчанию триггеры не запущены. Для увольнения триггеров явно используйте-h опцию с подсказкой FIRE_TRIGGERS.

  • Вы используете-E опцию импортировать значения идентификационных данных из файла данных.

Примечание: Требование разрешения ALTER TABLE на целевой таблице было новым в SQL Server 2005. Это новое требование могло бы вызвать сценарии BCP, которые не осуществляют триггеры, и ограничение проверяет к сбою, если учетная запись пользователя испытывает недостаток в полномочиях таблицы ALTER целевой таблицы.

20
ответ дан 29 November 2019 в 21:24
поделиться

Существует bulkadmin роль, которая позволяет команды BULK INSERT. http://msdn.microsoft.com/en-us/library/ms189934 (SQL.90) .aspx

0
ответ дан 29 November 2019 в 21:24
поделиться

Для успешного выполнения класса SqlBulkCopy необходимы только разрешения SELECT / INSERT. Класс выдает инструкцию INSERT BULK для целевой таблицы SQL Server. Проверено сегодня на одном из наших серверов разработчиков.

2
ответ дан 29 November 2019 в 21:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: