Как получить хранимую процедуру с помощью c #?

#c# #.net #sql-server-2008

#c# #.net #sql-server-2008

Вопрос:

Возможно ли получить stored procedure с помощью c #?

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

Я не знаю, как получить хранимую процедуру.

Есть предложения?

РЕДАКТИРОВАТЬ: я извлек имена хранимых процедур с помощью SELECT NAME from SYS.PROCEDURES и я не знаю, как получить эти хранимые процедуры

Комментарии:

1. Какой тип базы данных вы используете и каким способом получаете к ней доступ (ADO.Net EF, классы Linq-to-SQL, драйвер SQL и т.д.)

Ответ №1:

вы можете просто написать процедуру

 select Column1,Column2 from sys.procedures where name='yourProcName'
  

Ответ №2:

http://databases.aspfaq.com/database/how-do-i-find-a-stored-procedure-containing-text.html

Затем просто создайте SqlConnection amp; SqlCommand как обычно и выполните SQL, чтобы узнать подробности процедуры:

 SELECT ROUTINE_NAME, ROUTINE_DEFINITION 
    FROM INFORMATION_SCHEMA.ROUTINES 
    WHERE ROUTINE_NAME = @YourDesiredStoredProc;
    AND ROUTINE_TYPE='PROCEDURE'
  

C#:

 // details is a custom class you would use to hold the details of the proc :)
// Boring connection stuff
if(reader.Read())
{
    this.details = new StoredProcedure(reader.GetString(0), reader.GetString(1);
}
else
{
    throw new ArgumentException("Procedure does not exist");
}

// Close boring connection stuff.

this.details.Write("your_file_name");
  

Ответ №3:

Если SQLServer: http://msdn.microsoft.com/en-us/library/ms345443 (v = sql.90).aspx Я думаю, вы можете выполнить эту инструкцию sql и записать возвращаемое значение в свой текстовый файл.

Ответ №4:

Выполните свой запрос против sys.syscomments . Согласно странице MDSN, она содержит записи для каждого представления, правила, ограничения по умолчанию, триггера, ПРОВЕРКИ, ограничения по УМОЛЧАНИЮ и хранимой процедуры в базе данных. Текстовый столбец содержит исходные инструкции определения SQL.