请问: 对SQL SERVER ,知道机器名、用户名、密码,如何得知数据库名称列表.

请问:对SQL SERVER ,知道机器名、用户名、密码,如何得知数据库名称列表。
[41 byte] By [aspboys-ASP—DOTNET—J2EE] at [2008-2-12]
# 1
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 Boolean

Dim objServer As SQLDMO.SQLServer
Dim lngDatabaseCount As Long
Dim i As Long
On Error GoTo SQLDatabaseListErr

SQLDatabaseList = False
Set objServer = New SQLDMO.SQLServer

objServer.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 i

SQLDatabaseList = True

Err.Clear
SQLDatabaseListErr:
Set objServer = Nothing

rlngErrNum = Err.Number
rstrErrDescr = Err.Description

End Function

請:引用Microsoft SQLDMO Object Library
daisy8675-莫依沉迷 at 2007-10-21 > top of Msdn China Tech,visual basic,数据库(包含打印,安装,报表)...
# 2
1.有两种方法可以实现,一种是利用sql中本身存储的数据库列表

select * from master.dbo.sysdatabases

可以列出所有的数据库列表

2.利用sqldmo对象

先引用sqldmo对象

'引用microsoft SQLDMO对象

'定义数据库服务器
Dim Osql As New SQLDMO.SQLServer

'定义一个数据库对象
Dim Odb As New SQLDMO.Database

'循环得到数据库的名称
For Each Odb In Osql.Databases
Dim s As String
s = Odb.Name

Next

'释放对象

Set Odb = Nothing
Osql.Close
Set Osql = Nothing
ukyoxh-我来学习 at 2007-10-21 > top of Msdn China Tech,visual basic,数据库(包含打印,安装,报表)...
# 3
最简单的办法是,用ado连接上master数据库,执行:

SELECT name from master..sysdatabases