Как обновить работу агента SQL с помощью параметризованного SQL - PullRequest
0 голосов
/ 15 октября 2018

В моем проекте я хочу обновить задание агента sql, выполнив параметризованные хранимые процедуры SQL с использованием ODBC .NET Provider.Пока что это то, что у меня есть

OdbcCommand ExecJob = new OdbcCommand();           
ExecJob.CommandType = CommandType.StoredProcedure;
ExecJob.CommandText = "msdb.dbo.sp_update_schedule";
ExecJob.Parameters.AddWithValue("@name", "a");
ExecJob.Parameters.AddWithValue("@new_name", " b");                    
ExecJob.Connection = MyConnection;

При выполнении этого sql это вызывает эту ошибку Supply either @schedule_id or @name to identify the schedule. Кто-нибудь может мне помочь с этим?Я действительно не очень знаком с sql.

1 Ответ

0 голосов
/ 15 октября 2018

Попробуйте использовать escape-синтаксис ODBC, передавая позиционные параметры:

OdbcCommand ExecJob = new OdbcCommand();           
ExecJob.CommandType = CommandType.StoredProcedure;
ExecJob.CommandText = "call msdb.dbo.sp_update_schedule(?,?,?)";
ExecJob.Parameters.AddWithValue("@schedule_id", Dbnull.Value);
ExecJob.Parameters.AddWithValue("@name", "a");
ExecJob.Parameters.AddWithValue("@new_name", "b");                    
ExecJob.Connection = MyConnection;
...