SQL Server 2008 및 .NET 3.5 Framework를 사용합니다.프로그래밍 방식으로 SQL 작업 만들기
내 프로그램에서는 데이터베이스의 저장 프로 시저가 사용자 입력에 따라 변경됩니다.
사용자는 자신의 작업에 대한 날짜를 결정할 수 있습니다.
그래서 저장된 procs를 변경하기위한 SQL Job이 프로그램에 의해 작성되는 방식으로 프로그램을 작성하고 싶습니다.
어떻게 프로그램 방식으로 작업을 만들 수 있습니까?
SQL Server 2008 및 .NET 3.5 Framework를 사용합니다.프로그래밍 방식으로 SQL 작업 만들기
내 프로그램에서는 데이터베이스의 저장 프로 시저가 사용자 입력에 따라 변경됩니다.
사용자는 자신의 작업에 대한 날짜를 결정할 수 있습니다.
그래서 저장된 procs를 변경하기위한 SQL Job이 프로그램에 의해 작성되는 방식으로 프로그램을 작성하고 싶습니다.
어떻게 프로그램 방식으로 작업을 만들 수 있습니까?
두 가지 방법으로 프로그래밍을 수행 할 수 있습니다
1. 당신이 절차 변경 만해야하는 경우
// written from the head
...
using System.Data.SqlClient;
using Smo = Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Common;
string strConnectionString = ".......";
string strAlterProcCommandText = "ALTER PROC dbo.blablabla (..) AS .......\r\nGO";
using (var conn = new SqlConnection(strConnectionString))
{
conn.Open();
var server = new Smo.Server(new ServerConnection(conn));
var result = server.ConnectionContext.ExecuteNonQuery(strAlterProcCommandText);
Console.WriteLine("Result: " + result);
}
2. 을 아니면 SQL 작업이 작업을 수행하려는 경우, 위의 예를 사용해야 할 수도 있지만 strAlterProcCommandText = "ALTER PROC..."
대신 SQL 작업을 추가하는 명령을 실행하십시오. SQL Server 에이전트 » 채용 » »을 마우스 오른쪽 버튼으로 클릭 :
strAlterProcCommandText
에 넣습니다.희망이 있습니다.
특정 날짜에 변경이 발생합니다. 예를 들어, 오늘 proc에 코드를 추가하고 다음 달에 코드를 제거 할 것입니다. 그러나이 모든 날짜는 응용 프로그램의 UI 만 알고있는 사용자가 제공합니다. 따라서 작업을 응용 프로그램으로 작성해야하거나 Windows 서비스가 필수적입니까? –
흠, 네가 필요로하는 바에 따라 달라질 것 같아. 어쨌든이 작업을하는 데는 여러 가지 방법이있을 것이라고 확신합니다. 예를 들어 SMO 네임 스페이스에서 Job 클래스를 사용하여 C#에서 작업을 조작 할 수 있습니다. 이 설명서를 살펴보십시오. http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.management.smo.agent.job.aspx – Genius
바인드 변수를 사용하여이 작업을 수행하지 않으려는 이유가 있습니까? –
저장된 procs 만 업데이트하려고합니까? 그렇다면 왜 일을해야합니까? – tobias86
@ tobias86 더 좋은 방법이 있습니까? @ pm_2 bind 변수는 모르지만 지금은 검색하고 있습니다. –