Encontrar instancias locales de SQL Server

17/02/2010 - 10:36 por The Best Poster | Informe spam
Hola,

Estoy realizando un programa en C# que debe ser capaz de detectar las
instancias de SQL Server en la red para conectarme a una base de datos
con SqlConnection.
El codigo indicado abajo funciona, pero necesito tambien ser capaz de
detectar las instancias locales de Sql Server, o sea las instancias
del mismo PC que esta haciendo la busqueda.

Quién me puede indicar lo que debo anadir o modificar en el codigo que
sigue ? Gracias de antemano.

[cmbListOfMachines es una combobox]


// Retrieve list of instances of sql server on network and display
them in combobox
Cursor = System.Windows.Forms.Cursors.WaitCursor;
SqlDataSourceEnumerator sqlenum =
SqlDataSourceEnumerator.Instance;
DataTable dtsql = sqlenum.GetDataSources();
cmbListOfMachines.Items.Clear();
foreach (DataRow row in dtsql.Rows)
{
if (row["InstanceName"].ToString() != "") // Display
only if an instance is found
{
//cmbListOfMachines.Items.Add(row["ServerName"] +
"\\ " + row["InstanceName"] + " (" + row["Version"] + ")");
cmbListOfMachines.Items.Add(row["ServerName"] + "\\
" + row["InstanceName"]);

}
}
Cursor = System.Windows.Forms.Cursors.Default;
}

Preguntas similare

Leer las respuestas

#1 Sashka
17/02/2010 - 15:00 | Informe spam
http://blogs.msdn.com/sqlserverfaq/...chine.aspx

Sashka

"The Best Poster" escribió en el mensaje de
noticias:hlgde6$9hl$
Hola,

Estoy realizando un programa en C# que debe ser capaz de detectar las
instancias de SQL Server en la red para conectarme a una base de datos con
SqlConnection.
El codigo indicado abajo funciona, pero necesito tambien ser capaz de
detectar las instancias locales de Sql Server, o sea las instancias del
mismo PC que esta haciendo la busqueda.

Quién me puede indicar lo que debo anadir o modificar en el codigo que
sigue ? Gracias de antemano.

[cmbListOfMachines es una combobox]


// Retrieve list of instances of sql server on network and display them in
combobox
Cursor = System.Windows.Forms.Cursors.WaitCursor;
SqlDataSourceEnumerator sqlenum =
SqlDataSourceEnumerator.Instance;
DataTable dtsql = sqlenum.GetDataSources();
cmbListOfMachines.Items.Clear();
foreach (DataRow row in dtsql.Rows)
{
if (row["InstanceName"].ToString() != "") // Display only
if an instance is found
{
//cmbListOfMachines.Items.Add(row["ServerName"] + "\\ "
+ row["InstanceName"] + " (" + row["Version"] + ")");
cmbListOfMachines.Items.Add(row["ServerName"] + "\\ " +
row["InstanceName"]);

}
}
Cursor = System.Windows.Forms.Cursors.Default;
}


Respuesta Responder a este mensaje
#2 The Best Poster
17/02/2010 - 15:07 | Informe spam
Dans son message précédent, Sashka a écrit :
http://blogs.msdn.com/sqlserverfaq/...chine.aspx

Sashka




Gracias por la suggestion.

Yo ya habia encontrado en el Internet otra idea que era leer la
informacion en el Registry.
Esta informacion se encuentra en
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Sql Server\Instances
Names\SQL ...
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida