2012-02-02 27 views
6

He intentado todo pero no puedo acceder/cambiar/modificar mi base de datos. Lo creé en Visual Studio con .mdf. Soy nuevo en el uso de bases de datos SQL, así que estaré contento de poder ayudarme. Como dije, creé esa base de datos en Visual Studio pero no puedo crear una conexión con esa base de datos.No se puede conectar a la base de datos .mdf

En web.config:

<connectionStrings> 
    <add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|Database.mdf;Integrated Security=True;" 
     providerName="System.Data.SqlClient" /> 
    </connectionStrings> 

En CS I usado esa cadena de conexión SQL:

SqlConnection conn = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDBFilename=|DataDirectory|Database.mdf;Integrated Security=True;"); 

Y tengo este error:

Un intento de conectar un auto-nombrado la base de datos del archivo C: \ Users \ mcan \ Documents \ Visual Studio 2010 \ WebSites \ WebSite1 \ App_Data \ Database.mdf falló. Existe una base de datos con el mismo nombre, o el archivo especificado no puede abrirse, o está ubicado en el recurso compartido UNC.


he hecho algunos cambios:

En web.config:

<connectionStrings> 
<add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=|DataDirectory|Database.mdf;Integrated Security=True;" 
    providerName="System.Data.SqlClient" /> 

y en CS:

SqlConnection conn = new SqlConnection("Data Source=.\\SQLEXPRESS;Initial Catalog=|DataDirectory|Database.mdf;Integrated Security=True;"); 

Ahora se da ese error :

*Server Error in '/WebSite1' Application. Cannot open database |DataDirectory|Database.mdf" requested by the login. The login failed. Login failed for user 'mcan-PC\mcan'. * 
+0

¿Leyó el mensaje? – SLaks

+0

@SLaks - ¿Y tú? Hay 3 posibilidades mencionadas en el mensaje. Tu respuesta asume uno. –

+0

@MartinSmith: Esa no es una acción de UNC, y él dijo que ya creó el archivo. – SLaks

Respuesta

2

Como el error indica claramente, esa base de datos ya está conectada a SQL Server.
No puede tener dos bases de datos con el mismo nombre en el mismo servidor.

+0

solo trato de acceder a esa base de datos desde un solo lugar, ¿por qué hay otra conexión? no puedo acceder y modificarlo, ¿qué debo hacer entonces? –

+0

La base de datos ya está en SQL Server. Debe eliminarlo del servidor SQL o conectarse a él por su nombre en lugar de intentar volver a adjuntarlo. – SLaks

+0

¿podría explicar la forma de conectarse por su nombre? –

1

El problema podría ser que su archivo mdf no tiene permisos establecidos para usuarios autenticados. Navega a tu archivo .mdf, haz clic con el botón derecho y ve a Propiedades y luego a la pestaña Seguridad. Verifique si los Usuarios autenticados aparecen en 'Nombres de grupos o usuarios'. Si no es así, deberá hacer clic en Editar, luego en Agregar y escribir Usuarios autenticados. Luego, presionarás Comprobar nombres y Aceptar. Después de eso, habilite el control total para usuarios autenticados. Tendrás que repetir esto para el archivo .ldf también.

+0

he comprobado y los usuarios autenticados aparecen en 'Nombres de grupos o usuarios'. –

+0

Al seleccionar Usuarios autenticados y buscar en la lista de Permisos, ¿se marca el Control total en la columna Permitir? – huel

+0

Sí, hay System, mcan-PC \ mcan y mcan-PC \ Administrators, el propietario es mcan-PC \ mcan, y todos tienen control total marcado en la columna Allow –

Cuestiones relacionadas