Инструменты для обновления таблиц в SQL Server 2000/2005 - PullRequest
0 голосов
/ 12 июня 2010

Есть ли удобный инструмент, который может упростить обновление таблиц? Обычно я получал файл Excel с исходным значением в одном столбце и новым значением в другом столбце. Затем я пишу формулу в Excel для создания оператора «update». Есть ли способ упростить задачу обновления?

Я полагаю, что подход в SQL Server 2000 и 2005 будет другим, поэтому мы могли бы обсудить их оба? Спасибо.

Кроме того, эти обновления обычно запрашиваются «непрограммистом» (что означает, что они не понимают SQL, поэтому может быть невозможно разрешить им делать запрос), существует ли какой-либо инструмент, который может позволить им обновить таблицу напрямую не имея администраторов баз данных сделать эту задачу? Кроме того, этот инструмент должен ограничивать привилегию только для изменения определенных таблиц. И лучше есть способ откатить изменения.

Ответы [ 4 ]

3 голосов
/ 12 июня 2010

Создайте пакет DTS, который будет импортировать CSV-файл, вносить обновления, а затем архивировать файл.Пользователь может поместить файл в определенную папку, предназначенную для этой задачи, или это может сделать специалист по операциям.Запланируйте запуск DTS каждый час, день и т. Д.

1 голос
/ 12 июня 2010

Если ваши пользователи будут настаивать на том, чтобы они продолжали использовать Excel, у вас есть несколько различных возможностей для передачи данных в SQL Server.Мой предпочтительный вариант - использовать DTS / SSIS, как упомянуто buckbova.

Однако другой метод заключается в использовании OPENROWSET (), который позволяет запрашивать файл Excel, как если бы это была таблица.Я написал небольшую статью об этом здесь: http://blog.hoegaerden.be/2010/03/29/retrieving-data-from-excel/

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

Вот, пожалуйста, еще пара возможных решений: -)

Valentino.

1 голос
/ 12 июня 2010

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

Этот метод может работать на SQL Server 2000 и 2005.

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

У вас будет полный контроль, и они смогут подключиться к нему с помощью Access или чего-либо еще и выполнить их обслуживание.

0 голосов
/ 12 июня 2010

Вы можете создать некоторые учетные записи в SQL Server для этих пользователей и ограничить их доступ только определенными таблицами и столбцами вместе с привилегиями выбора / обновления / вставки.Затем вы можете создать базу данных доступа со связанными с ними таблицами.

...