2012-01-05 15 views
6

Actualmente estoy construyendo un Proyecto de aplicación web en Visual Studio 2010 y, hasta hace poco, no necesitaba usar el código scaffolded para Membresías, Usuarios y Roles, etc. almacenado en el archivo de base de datos ASPNETDB.mdf. He estado ejecutando el proyecto en Visual Studio Web Server, IIS Express (desde Visual studio) y también IIS7.5 sin ningún problema.Intento adjuntar una base de datos autodenominada para archivo .mdf fallida

Sin embargo, ahora la necesidad de incorporar las cuentas de usuario y cuando se utiliza el código de andamiaje que entrar, me sale un error del servidor que indica:

Un intento para fijar una base de datos auto-nombrado para el archivo C: \ Users \ User \ Documents \ COMP6059 \ PomumV2 \ PomumV2 \ App_Data \ aspnetdb.mdf fallido. Existe una base de datos con el mismo nombre o el archivo especificado no se puede abrir, o está ubicado en el recurso compartido UNC.

Este error solo se produce cuando uso el servidor web IIS Express o IIS7.5. El servidor web de Visual Studio funciona bien.

He seguido las instrucciones desde http://support.microsoft.com/?kbid=2002980 en vano.

A continuación es mi cadena de conexión para la base de datos:

<add name="ApplicationServices" 
    connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" 
    providerName="System.Data.SqlClient" /> 

El error se produce en la siguiente línea del archivo AccountController.cs (que se genera de auto-)

... if (Membership.ValidateUser(model.UserName, model.Password)) { ... 

He leído en alguna parte que Puede que necesite mover la base de datos a SQL Server Management Studio y luego adjuntar Visual Studio a través de eso, pero no pude iniciar sesión en la base de datos.

Quiero que esto se pueda ejecutar en IIS7.5. ¿Alguien tiene alguna idea sobre cómo resolver este problema?

Respuesta

3

Esto es potencialmente un problema con la cuenta con la que está ejecutando IIS y no tiene acceso a ese archivo.

Asigne permisos completos a esa carpeta para la cuenta de servicio de red.

Puede probar temporalmente a 'todos' y ver si resuelve el problema, y ​​trabajar hacia atrás desde allí.

también asegurar su no está en uso por otro servidor web (explorador de proceso/sysinternals le puede ayudar a que muestran)

+0

Los grupos Todos y el SERVICIO DE RED tienen el control total sobre el directorio App_Data pero sigo recibiendo lo mismo. Bastante seguro de que no está siendo utilizado por ningún otro servidor web. Conseguí el explorador de procesos, pero no estoy seguro de lo que estoy buscando. – Mabbage

+0

busque el nombre de db en el explorador de procesos y, si está en uso, mostrará el proceso que lo tiene abierto. podría estar abierto en Visual Studio, el servidor web VS aún podría estar retenido, etc. –

+0

He dado 'control total' al SERVICIO DE RED en toda la carpeta Documentos y eso parece haber resuelto el problema anterior. Ahora me aparece otro error sobre 'error al iniciar sesión en NT AUTHORITY \ NETWORK SERVER', pero se planteará como otra pregunta, ya que parece ser un problema suficientemente separado. – Mabbage

1

comprobación de que su carpeta no es de sólo lectura. Que funciona para mí

0

Parece que la OP ha resuelto el problema, sino que a pesar de que el etiquetado de mérito en mi solución, ya que puede ayudar a otros en el futuro .....

tuve un problema similar en el que se LocalDB en el aparente modo de "solo lectura" en el servidor en vivo, pero funcionó bien en mi computadora portátil dev local.

Después de leer muchas publicaciones como esta, y de intentar todo lo que pude encontrar, todavía no funcionaba.

Por casualidad ingresé a IIS en el servidor activo y noté que había 3 conexiones de base de datos identificadas. 2 fueron heredados -no sé de dónde- y el tercero fue declarado localmente (por ejemplo, en el sitio web.config).

Eliminé las 2 conexiones heredadas y, ¡voilá! Ahora funciona bien.

0

Tuve este problema después de la migración de VS2013 a Comunidad VS2015, mientras trataba de abrir la base de datos del proyecto .mdf de la carpeta Visual Studio 2013. Luego copié el proyecto con el archivo de la base de datos a la nueva carpeta de Visual Studio 2015 y se resolvió el problema.

Cuestiones relacionadas