01 giugno 2006

VB.NET : Recuperare l'elenco di stored procedures da un db SQL Server

La seguente funzione (molto semplice) consente di avere la lista delle stored procedure disponibili per un database SQL Server.

Public Function GetStoredProcedures(ByVal serverName As String, ByVal dbName As String) As StringCollection
  Dim retval As New StringCollection
  Dim dbConn As SqlConnection
  Dim connString As String = "Persist Security Info=False;Integrated Security=SSPI;Initial Catalog=" + dbName + ";server=" + serverName

  dbConn = New SqlConnection(connString)
  dbConn.Open()

  Dim spReader As SqlDataReader = Nothing
  If Not dbConn Is Nothing Then
    Dim spSelectString = "SELECT name as spName FROM SysObjects WHERE Type='P' "
    Dim spCommand As SqlCommand = New SqlCommand(spSelectString, dbConn)
    spReader = spCommand.ExecuteReader(CommandBehavior.CloseConnection)

    If (Not spReader Is Nothing) Then
      While spReader.Read()
        retval.Add(spReader("spName"))
      End While
      spReader.Close()
    End If
    dbConn.Close()
  End If

  Return retval
End Function


La funzione accetta in input il nome del server e il nome del database e restituisce una collezione di stringhe riportante i nomi di tutte le stored procedures presenti nel database.
La funzione non gestisce le eventuali eccezioni generate dalla connessione alla banca dati. Per questo si può modificare prevedendo la collection di stringhe come argomento e restituendo un valore di errore.

Nessun commento: