Как узнать какие SQL-сервера доступны в сети

Irina
Дата: 06.12.2000 12:28:15
Кто знает ??

Необходимо с любой станции определить имена всех SQL-серверов, доступных в локальной сети (приложение на vc++). Возможно ли это ?
SQLBrowseConnect выдает не все имена.
Дед+Маздай
Дата: 06.12.2000 13:38:40
Irina, у Вас в сети установлена Active Directory?
SergSuper
Дата: 06.12.2000 13:43:09
Правда для Delphi:
http://delphi.vitpc.com/asp/answer.asp?IDAnswer=4488

Но работать это будет только под NT.
Кстати, что странно, но под 3.11 тоже работало.
Irina
Дата: 06.12.2000 13:55:20
Active Directory установлен. Но я не нашла метода, который делает что-либо подобное.
Дед+Маздай
Дата: 06.12.2000 14:10:42
С помощью ADSI зайдите из Вашего приложения в Active Directory и запустите LDAP- или SQL-запрос, вытаскивающий из дерева все объекты типа MS-SQL-SQLServer. Св-во State по каждому показывает запущен он или остановлен. Примерно так работает SCM.
Fompro
Дата: 06.12.2000 18:43:47
DB-LIBRARY for C
dbserverenum(USHORT searchmode,LPSTR servnamebuf,
USHORT sizeservnamebuf,LPUSHORT numentries );
Searches for the names of SQL Servers locally, over the network, or both.
Дед+Маздай
Дата: 07.12.2000 09:22:27
Сорри, атрибут называется не state, а mS-SQL-Status.
В целом процедура выглядит следующим образом. SQL Server'ы прописываются в Active Directory (sp_ActiveDirectory_SCP @Action = N'create'), после чего с нее в любой момент эту информацию можно снимать из приложения (пример привожу на VB в целях экономии места)
Dim adoCnn As ADODB.Connection
Set adoCnn = CreateObject("ADODB.Connection")
adoCnn.Provider = "ADsDSOObject"
adoCnn.Open "" , "cn=Administrator,cn=Users,dc=MyDomain,dc=com", "Password"
Dim adoRS As ADODB.Recordset
Dim strLDAPQuery As String
strLDAPQuery = "<LDAP://dc=MyDomain,dc=com>;" & _
"(objectClass=MS-SQL-SQLServer);" & _
"cn,ADsPath,mS-SQL-Clustered,mS-SQL-Build;" & _
"SubTree"
Set adoRS = adoCnn.Execute(strLDAPQuery)
While Not adoRS.EOF
Debug.Print adoRS.Fields(0), adoRS.Fields(1), adoRS.Fields(2), adoRS.Fields(3)
adoRS.MoveNext
Wend
Irina
Дата: 07.12.2000 12:19:26
Спасибо, все получилось !