2010-05-18 12 views
7

¿Es posible conectarse a una base de datos SQL Server Express 2008 en ASP.NET con un nombre de servidor de (local) como "servidor = (local); seguridad integrada = SSPI ; database = DBNAME "?SQL Server Express 2008 usando (local) en la cadena de conexión

Estoy trabajando con otro desarrollador en un proyecto y es cada vez más molesto tener que tener 2 versiones diferentes de web.config porque está usando SQL Server 2008 y (local) funciona, pero parece que no puedo obtenerlo para trabajar con SQL Server 2008 Express localmente

La base de datos se encuentra en la misma computadora que el código .NET en caso de que sea importante.

Gracias.

+0

¿Estás seguro de que tu instalación de SQL Server Express no es una instancia con nombre? – PatrickJ

+0

No, no estoy seguro. ¿Cómo verificaría eso? –

+0

Las instalaciones de SQL Server Express son * siempre * nombradas. –

Respuesta

1

Puede usar la herramienta SQL Server Configuration Manager para crear un alias. Dele el alias del mismo nombre en su máquina, y luego puede simplemente hacer referencia al alias en sus archivos de configuración.

No sé si la herramienta Configuration Manager está realmente incluida con la versión Express de SQL Server, pero si no puede utilizar la clave de registro (todavía funciona con las ediciones Express). Acaba de obtener su compañero de trabajo para configurar el alias y luego exportar la clave del Registro siguiente:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo

A continuación, puede importar esa clave en el equipo local. Las cosas son un poco más complicadas si estás en Windows de 64 bits (porque tienes que configurar el alias en el registro de 32 bits y de 32 bits).

+0

Estoy en una máquina de 64 bits. En el Administrador de configuración de SQL Server configuro un Alias ​​en las secciones Configuración de SQL Native Client 10.0 de 32 bits y de 64 bits. Luego, usando ese alias como el nombre del servidor en la cadena de conexión obtengo el siguiente error: "Se produjo un error relacionado con la red o específico de la instancia al establecer una conexión con SQL Server. El servidor no se encontró o no se pudo acceder. que el nombre de instancia es correcto y que SQL Server está configurado para permitir conexiones remotas. (Proveedor: Interfaces de red SQL, error: 26 - Error al localizar el servidor/Instancia especificada) " –

+0

Así que una información más que creo que está ayudando a causar mi problema es que tengo una versión completa de 2005 instalada en la misma máquina.Cuando voy a SSMS y me conecto a (local) me lleva a la instancia de 2005. También acabo de ver que cuando voy al Administrador de configuración de SQL Server para mi instancia de 2005, ahora también aparece el alias. Estoy pensando que la desinstalación de 2005 podría resolver mis problemas. –

+0

Otro consejo sobre cómo configurar el alias ... si es localhost, puede usar "Canalizaciones con nombre" para el protocolo. Eso funcionó para mí, mientras que no pude lograr que el protocolo TCP funcionara, incluso después de habilitar el protocolo. –

4

Suponiendo que ambos tienen SQL Express instalada con el nombre de instancia predeterminado "SQLEXPRESS", que puede tener 1 cadena de conexión como: ""

server=.\SQLEXPRESS;integrated security=SSPI;database=DBNAME 

El en la cadena de conexión se utiliza para representar la máquina local.

+0

Publicaría esto como mi respuesta, pero parece que Wallace llegó primero. – War

Cuestiones relacionadas