mój problem polega na ty, że chcę w programie mieć możliwośc przeszukania sieci i komputera lokalnego w poszukiwaniu dostępnych Źródeł danych (serwerów ms sql) znalazłem na msdn niby rozwiązanie (http://msdn.microsoft.com/en-us/library/system.data.sql.sqldatasourceenumerator.getdatasources.aspx) ale to nie wyszukuje mi instalacji sql serwera więc tutaj zadaje to pytanie jak napisać kod aby wyszukało mi instalacje serwera sql?
Jaka to instancja? Jaki serwer? (MSSQL?) .. sprawdź czy działa pierw.. jesteś tego pewny?
SqlDataSourceEnumerator..::.GetDataSources Method działa tylko dla
SQL Server 2000 or SQL Server 2005
oczywiscie MS...
a nie ma jakiejś metody dla sql server 2008?
zastanow sie najpierw w jaki to niby sposob chcialbys zeby Twoj program magicznie odnalazl co sie znajduje na N-dziesieciu komputerach w sieci lokalnej. przeciez to co chcez osiagnac do tego sie sprowadza!! rownie dobrze moglbys probowac sie dowiedziec, ile jest odpalonych GG i u kogo.
SqlServer realizuje owo 'wyszukiwanie' za pomoca specjalnej uslugi, programu/windowsservice'u, ktory stoi sobie gdzies-na-sieci - czesto jets taki na kazdym kompie ktory ma sqlserver uruchomiony -- i ten program nasluchuje i odpowiada na broadcasty komputerow-ktore-szukaja-serwerow.
jesli nie masz tej uslugi uruchomionej - zadne wyszukiwanie jej nie znajdzie.
sprawdz czy ja masz i czy jest uruchomiona.
niestety, nie pamietam jej nazwy - wydaje mi sie ze SqlServer Browser
Deti napisał(a)
SqlDataSourceEnumerator..::.GetDataSources Method działa tylko dla
SQL Server 2000 or SQL Server 2005
Według tego artykułu obsłuży też 2008:
http://www.kodyaz.com/articles/sql-server-instances-SqlDataSourceEnumerator.aspx
mój problem polega na ty, że chcę w programie mieć możliwośc przeszukania sieci i komputera lokalnego w poszukiwaniu dostępnych Źródeł danych (serwerów ms sql)
Bez uruchomienia na każdym kompie czegoś dodatkowego się nie obejdzie.
Ja też miałem z tym problem i w poszukiwaniu rozwiązania trafiłem tutaj. Znalazłem pewien kod i przerobiłem go pod buttona, który po naciśnięciu przeszukuje system w poszukiwaniu zainstalowanych serwerów i wypełnia ComboBoxa (u mnie comboBox1). Wystarczy podpiąć pod button_Click. Mi wykrywa SQLEXPRESS i INSERTGT.
comboBox1.Items.Clear();
System.Data.DataTable table;
SqlDataSourceEnumerator instance = SqlDataSourceEnumerator.Instance;
table = instance.GetDataSources();
if (table.Rows.Count <= 0)
{
MessageBox.Show("Brak dostępnych serwerów baz danych");
return;
}
foreach (DataRow dr in table.Rows)
{
comboBox1.Items.Add(dr["ServerName"] + "\\" + dr["InstanceName"]);
}