La Web del Programador: Comunidad de Programadores
 
    Pregunta:  26557 - LISTAR LAS BASES DE DATOS DE UN SQL SERVER DESDE VISUAL BASI
Autor:  Felipe Usó
Estamos realizando una aplicación para conectarse a diversas bases de datos de un SQL Server 7.0, necesitamos conocer las bases de datos existentes en el Servidor SQL Server para que el usuario pueda seleccionar con la que desea trabajar al iniciar la conexión actual.

En Visual Basic debe existir alguna función que a partir del nombre de un Servidor SQL Server muestre sus bases de datos instaladas.

Gracias

  Respuesta:  Mauricio Leyzaola
Deberás hacer referencia a Microsoft SQLDMO para que funcione. Saludos.

'devuelve las bases de datos que no son del sistema y que contiene el servidor
'pasar como parametros el nombre del servidor, el login del usuario y su password
Public Function GetNonSystemDataBases(ServerName As String, ServerUserName As String, ServerUserPassword As String) As Collection
Dim oSQLServer As New SQLDMO.SQLServer
Dim colTables As Collection
Dim nElement As Integer

On Error GoTo ErrHandler

Set colTables = New Collection
oSQLServer.Connect ServerName, ServerUserName, ServerUserPassword
For nElement = 1 To oSQLServer.Databases.Count
With oSQLServer.Databases(nElement)
If Not .SystemObject Then
colTables.Add .Name
End If
End With
Next nElement
Set GetNonSystemDataBases = colTables
Exit Function

ErrHandler:
'eliminar los elementos de la coleccion y regresarla vacia
Set GetNonSystemDataBases = Nothing
MsgBox Err.Description, vbCritical
End Function