Saber la Instanacia de SQL en la que está una base de datos

21/08/2009 - 19:29 por José A. Giménez [Py] | Informe spam
Saludos.
Necesito saber la instancia de SQL en la que está una base en la que trabajo
con Access, cómo puedo averiguar el nombre de esa instancia por código?
GRACIAS!

Preguntas similare

Leer las respuestas

#1 Maxi \(MVP\)
21/08/2009 - 19:46 | Informe spam
Hola, corre esto

select serverproperty('InstanceName')


"José A. Giménez [Py]" wrote in message
news:
Saludos.
Necesito saber la instancia de SQL en la que está una base en la que
trabajo con Access, cómo puedo averiguar el nombre de esa instancia por
código?
GRACIAS!


Respuesta Responder a este mensaje
#2 José A. Giménez [Py]
21/08/2009 - 21:23 | Informe spam
Gracias! voy a probar

"Maxi (MVP)" escribió en el mensaje de
noticias:
Hola, corre esto

select serverproperty('InstanceName')


"José A. Giménez [Py]" wrote in message
news:
Saludos.
Necesito saber la instancia de SQL en la que está una base en la que
trabajo con Access, cómo puedo averiguar el nombre de esa instancia por
código?
GRACIAS!


Respuesta Responder a este mensaje
#3 José A. Giménez [Py]
21/08/2009 - 21:29 | Informe spam
Gracias, pero para poder hacer eso por código en una base de Access necesito
conectarme, y para conectarme necesito el nombre de la instancia
por ejemplo

cmd.ActiveConnection = "Provider=SQLNCLI10;" _
& "Server=.\SQLEXPRESS2008;" _
& "Database=Camiones Fram;" _
& "Integrated Security=SSPI;" _
& "DataTypeCompatibility€;" _
& "MARS Connection=True;"


Mi problema es que trabajo en varias maquinas en donde hago pruebas y cada
una tiene su instancia de SQL distinta. Entonces quería encontrar la manera
de decirle a Access por código el nombre del instancia para no tener que
estar cambiando cada vez que voy a otra máquina

La idea es esto:
NombreInstacia='Como la obtengo???

cmd.ActiveConnection = "Provider=SQLNCLI10;" _
& "Server=.\" & NombreInstacia & ";" _
& "Database=Camiones Fram;" _
& "Integrated Security=SSPI;" _
& "DataTypeCompatibility€;" _
& "MARS Connection=True;"


Gracias!
Respuesta Responder a este mensaje
#4 Jesús
22/08/2009 - 02:05 | Informe spam
El siguiente código en VB.NET te muestra las instancias de SQL Server en la
red:

Dim factory As DbProviderFactory =
DbProviderFactories.GetFactory("System.Data.SqlClient")
Dim dataSourceEnumerator As DbDataSourceEnumerator =
factory.CreateDataSourceEnumerator()
Dim dataSources As DataTable = dataSourceEnumerator.GetDataSources()
For Each row As DataRow In dataSources.Rows
Console.WriteLine("Servidor: {0}, Instancia: {1}, Versión: {2}",
row("ServerName"), row("InstanceName"), row("Version"))
Next


Lo malo es que:
1) desde Access va a ser complicado utilizar código VB.NET.
2) En una máquina puede haber más de una instancia de SQL Server.
3) Una instancia de SQL Server puede configurarse para que "no se vea".
De manera que el código anterior no la mostraría.

Ya que sólo te interesan las instancias de la máquina local yo casi me
tiraría por mirar el registro de Windows para ver qué instancias están
instaladas. Desde Access no es muy difícil leer el registro de Windows ya
que puedes usar las librerías de Windows Scripting Host.

En la clave "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server" las
subclaves que tengan a su vez una subclave MSSQLServer, corresponden a
instancias con nombre. Por ejemplo si tenemos:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL
Server\SQL2005\MSSQLServer
es que hay una instancia con nombre llamada SQL2005




"José A. Giménez [Py]" escribió en el mensaje de
noticias news:
Gracias, pero para poder hacer eso por código en una base de Access
necesito conectarme, y para conectarme necesito el nombre de la instancia
por ejemplo

cmd.ActiveConnection = "Provider=SQLNCLI10;" _
& "Server=.\SQLEXPRESS2008;" _
& "Database=Camiones Fram;" _
& "Integrated Security=SSPI;" _
& "DataTypeCompatibility€;" _
& "MARS Connection=True;"


Mi problema es que trabajo en varias maquinas en donde hago pruebas y cada
una tiene su instancia de SQL distinta. Entonces quería encontrar la
manera de decirle a Access por código el nombre del instancia para no
tener que estar cambiando cada vez que voy a otra máquina

La idea es esto:
NombreInstacia='Como la obtengo???

cmd.ActiveConnection = "Provider=SQLNCLI10;" _
& "Server=.\" & NombreInstacia & ";" _
& "Database=Camiones Fram;" _
& "Integrated Security=SSPI;" _
& "DataTypeCompatibility€;" _
& "MARS Connection=True;"


Gracias!
Respuesta Responder a este mensaje
#5 José A. Giménez [Py]
22/08/2009 - 04:25 | Informe spam
Gracias!
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida