Results 1 to 3 of 3

Thread: List stored procedures/tables using SMO

  1. #1

    Thread Starter
    Frenzied Member
    Join Date
    Oct 2000
    Posts
    1,463

    Question List stored procedures/tables using SMO

    Hi Everyone,

    I have just started to learn how to use SMO in some cases. Below is some code I found from a site to list the servers and databases for each. What I would like to do is go a step further and list all of the databases and stored procedures in their own listboxes when I select a database. I would like to not include the system ones or at least have a checkbox to decide to include them or not. I searched and could not find how to do this.

    Here is the code I have so far:

    Code:
    Imports Microsoft.SqlServer
    Imports Microsoft.SqlServer.Server
    Imports Microsoft.SqlServer.Management
    Imports Microsoft.SqlServer.Management.Smo
    
    
    Public Class Form1
    
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'just list local servers, set to false if you want to see all servers
            Dim dataTable = SmoApplication.EnumAvailableSqlServers(False)
            lstServers.ValueMember = "Name"
            lstServers.DataSource = dataTable
    
        End Sub
    
        Private Sub lstServers_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstServers.SelectedIndexChanged
            lstDatabases.Items.Clear()
            If lstServers.SelectedIndex <> -1 Then
                Dim serverName As String = lstServers.SelectedValue.ToString()
                Dim server As Server = New Server(serverName)
                Try
                    For Each database As Database In server.Databases
                        lstDatabases.Items.Add(database.Name)
                    Next
                Catch ex As Exception
                    Dim exception As String = ex.Message
                End Try
            End If
        End Sub
    Thanks!

    Warren

  2. #2
    Software Carpenter dee-u's Avatar
    Join Date
    Feb 2005
    Location
    Pinas
    Posts
    11,127

    Re: List stored procedures/tables using SMO

    Have a look at this, it may help you out.
    Regards,


    As a gesture of gratitude please consider rating helpful posts. c",)

    Some stuffs: Mouse Hotkey | Compress file using SQL Server! | WPF - Rounded Combobox | WPF - Notify Icon and Balloon | NetVerser - a WPF chatting system

  3. #3
    PowerPoster techgnome's Avatar
    Join Date
    May 2002
    Posts
    34,687

    Re: List stored procedures/tables using SMO

    Once you have a database object, loop through the StoredProcedures, Views and UserDefinedFunctions collections....

    Code:
        Private Sub ListObjects(ByVal ServerName As String, ByVal DatabaseName As String)
            sqlServer = New Microsoft.SqlServer.Management.Smo.Server(ServerName)
            sqlServer.ConnectionContext.ConnectionString = String.Format(CONNECTION_String, ServerName, DatabaseName)
    
            Dim sqlDatabase As Microsoft.SqlServer.Management.Smo.Database = sqlServer.Databases(DatabaseName)
            'Get all sprocs
            For Each dbSProc As Microsoft.SqlServer.Management.Smo.StoredProcedure In sqlDatabase.StoredProcedures
    
                'dbSProc is a Stored Procedure object
    
            Next
            'get all views
            For Each dbView As Microsoft.SqlServer.Management.Smo.View In sqlDatabase.Views
    
                'dbView is a View object
    
            Next
            'get all functions
            For Each dbFunction As Microsoft.SqlServer.Management.Smo.UserDefinedFunction In sqlDatabase.UserDefinedFunctions
    
                'dbFunction is a UDF Object
    
            Next
    
            sqlServer.ConnectionContext.Disconnect()
    
        End Sub
    -tg
    * I don't respond to private (PM) requests for help. It's not conducive to the general learning of others.*
    * I also don't respond to friend requests. Save a few bits and don't bother. I'll just end up rejecting anyways.*
    * How to get EFFECTIVE help: The Hitchhiker's Guide to Getting Help at VBF - Removing eels from your hovercraft *
    * How to Use Parameters * Create Disconnected ADO Recordset Clones * Set your VB6 ActiveX Compatibility * Get rid of those pesky VB Line Numbers * I swear I saved my data, where'd it run off to??? *

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width