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 |