Простая процедура установки обновлений в SQL Server Express 2005 - PullRequest
0 голосов
/ 26 мая 2011

У нас есть хранимая процедура, которую необходимо обновить на сайте клиента. По сути, мы будем отправлять по электронной почте сообщения об изменениях клиенту. Какой самый простой способ установить неиспользуемый пользователь обновить этот sp в SQL Server Express 2005? В идеале я хотел бы создать какой-нибудь bat-файл или exe-файл, чтобы пользователь мог просто дважды щелкнуть мышью, и sp был установлен. Я знаю c #, t-sql и основные команды сценария dos. ОС - это Win XP Пожалуйста, не предлагайте никаких причудливых решений, использующих powershell, поскольку они могут быть не установлены на клиентском компьютере. Обратите внимание, что это sql EXPRESS 2005. Сам sp похож на любой стандартный sp, имеющий структуру ниже. В худшем случае я планирую создать документ Word с пошаговыми скриншотами о том, как открыть SQL Management Studio, открыть файл, выполнить ....

use [dbname]
GO
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sp_name]') 
    AND type     in (N'P', N'PC'))
DROP PROCEDURE [dbo].[sp_name]
GO

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[sp_name]  
AS blah blah

спасибо

Ответы [ 2 ]

0 голосов
/ 26 мая 2011

Если у пользователя есть SQL Server Management Studio, у него также есть SQLCMD, который является утилитой командной строки для подключения к базе данных.Вы можете поместить свой сценарий sql в файл .sql, а затем создать файл .bat, который вызывает SQLCMD с соответствующими параметрами командной строки.

0 голосов
/ 26 мая 2011

Вы должны быть в состоянии создать приложение (C #) с new SqlCommand {type = text}, содержащим ваше обновление sp, и до тех пор, пока информация о строке подключения верна, вы должны быть в состоянии собрать ее, отправить ее для запуска Exe, а затем сделано.

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

Удачи!

...