如题示

解决方案 »

  1.   


    '引用Microsoft SQLDMO Object Library后,函数SQLServerList搜索所有SQL Server服务器,SQLDatabaseList搜索指定SQL Server服务器上的所有数据库 
    Public Function SQLServerList(ByRef strServerName() As String, _
    Optional ByRef rlngErrNum As Long, _
    Optional ByRef rstrErrDescr As String) As BooleanDim objServerApp As SQLDMO.Application
    Dim objServers As SQLDMO.NameList
    Dim lngServerCount As Long
    Dim I As Long
    On Error GoTo SQLServerListErrSQLServerList = False
    Set objServerApp = New SQLDMO.Application
    Set objServers = objServerApp.ListAvailableSQLServerslngServerCount = objServers.Count
    ReDim strServerName(lngServerCount - 1)For I = 1 To lngServerCountstrServerName(I - 1) = objServers.Item(I)Next ISQLServerList = TrueErr.Clear
    SQLServerListErr:
    Set objServers = Nothing
    Set objServerApp = NothingrlngErrNum = Err.Number
    rstrErrDescr = Err.Description
    End Function 
    Public Function SQLDatabaseList(ByVal vstrServer As String, _
    strDatabase() As String, _
    Optional ByVal vstrUser As String = "sa", _
    Optional ByVal vstrPassWord As String = "", _
    Optional rlngErrNum As Long, Optional rstrErrDescr As String) As BooleanDim objServer As SQLDMO.SQLServer
    Dim lngDatabaseCount As Long
    Dim I As Long
    On Error GoTo SQLDatabaseListErrSQLDatabaseList = False
    Set objServer = New SQLDMO.SQLServerobjServer.Connect vstrServer, vstrUser, vstrPassWord 
    lngDatabaseCount = objServer.Databases.Count
    ReDim strDatabase(lngDatabaseCount - 1)For I = 1 To lngDatabaseCount
    strDatabase(I - 1) = objServer.Databases.Item(I, "dbo").Name
    Next ISQLDatabaseList = TrueErr.Clear
    SQLDatabaseListErr:
    Set objServer = NothingrlngErrNum = Err.Number
    rstrErrDescr = Err.Description 
    End Function
      

  2.   

    需要先引用Microsoft SQLDMO Object Library