Пользователь Smo создал хранимую процедуру

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

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

ServerConnection serverConnection = new ServerConnection(sqlConnection);
myserver = new Server(serverConnection);
Database mydb = new Database();
mydb = myserver.Databases[cmbDbname.Text];
string classGenerated = "";
foreach (StoredProcedure mystr in mydb.StoredProcedures)
{
    if (!mystr.IsSystemObject)
    {
        classGenerated += mystr.Name + Environment.NewLine;
    }
}
spClassText.Text = classGenerated;

Здесь, когда я удаляю предложение !mystr.IsSystemObject, он возвращает много хранимых процедур, иначе не возвращает мою хранимую процедуру, созданную в качестве теста.


person osmanraifgunes    schedule 19.12.2013    source источник


Ответы (2)


Используйте атрибут Schema следующим образом:

if (mystr.Schema != "sys")
{
    classGenerated += mystr.Name + Environment.NewLine;
}
person Michi-2142    schedule 15.01.2015

попробуйте этот код

if (mystr.Owner != "sys") 
{
        classGenerated += mystr.Name + Environment.NewLine;
} 
person Sandeep Gupta    schedule 26.03.2014