2012-03-01 20 views
10

"Un intento de adjuntar una base de datos autodenominada para el archivo C: \ Users \ John \ documents \ visual studio 2010 \ Projects \ PAS \ PAS \ bin \ Debug // PatAddSys .mdf failed. Existe una base de datos con el mismo nombre, o el archivo especificado no se puede abrir, o está ubicado en el recurso compartido de UNC ".Intento de adjuntar una base de datos autodenominada Error

¿Qué pasa aquí? Tengo el código correcto a mi camino (creo) pero aún así se produce este error aquí está mi camino de la base de datos

private string dbPath = Application.StartupPath + "//PatAddSys.mdf"; 

Aquí está la ubicación de mi base de datos

enter image description here

Respuesta

12

intente configurar la propiedad instancia de usuario en su cadena de conexión a verdadero. Es necesario añadir esto a su cadena de conexión:

User Instance=True 

también sólo para estar seguro de verificación de nuevo el servidor de base de datos, ya que podría contener ya una base de datos con el mismo nombre.

Espero que ayude.

-3

Utilice esta:

Path.GetFullPath(yourpath_string) 

que funcionará

+0

No estoy seguro de que esto responde a la pregunta .... –

+0

a mí sí, y no tiene sentido una respuesta similar – Luf

1

yo creo que puede ser muy, muy tarde, pero

esta cadena me da el error anterior

<add name="MAB_ERP_2_0.Properties.Settings.MyConnection" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=Database\MabErp2.mdf;Integrated Security=true;" 
     providerName="System.Data.SqlClient" /> 

Pero si agregar | Directorio de datos | antes del nombre de la base de datos, entonces funciona bien

<add name="MAB_ERP_2_0.Properties.Settings.MyConnection" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Database\MabErp2.mdf;Integrated Security=true;" 
     providerName="System.Data.SqlClient" /> 
0

FOR FUTURE HELP !!

que ha corregido:

private string dbPath = Application.StartupPath + "//PatAddSys.mdf"; 

pero sólo tiene que hacer un paso es utilizar la barra invertida "\" en lugar de barra "/" por lo que debe ser como este:

private string dbPath = Application.StartupPath + "\\PatAddSys.mdf"; 

& gracias esta línea me salvó un montón de trabajo :)

2

cambiar tanto el worki actual ng directorio y la cadena de conexión a los correctos para resolverlo.

Seleccione la base de datos que se encuentra en "Explorador de servidores" luego copie la cadena de conexión exactamente como se ve en sus propiedades, luego úsela en los códigos.

enter image description here

entonces para el directorio de trabajo actual utilice el mismo camino sin el nombre de la base de datos. Solución -> propiedades -> depuración es donde se encuentra la ruta actual del directorio de trabajo en. Esto funciona para Visual Studio 2015.

uso mi cadena de conexión ya que esto

Private constr As String = "Data Source = (LocalDB)\MSSQLLocalDB;AttachDbFilename=" + 
     Directory.GetCurrentDirectory() + "\DBNAME.mdf;" + 
     "Integrated Security=True;Connect Timeout=30;User Instance=False" 
0

En realidad, yo he caído a este problema, pero lo manejé con facilidad. si su cadena de conexión es

connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;" 

que necesita para hacer su propia LocalDB. primero Ir al símbolo del sistema de escribir

sqllocaldb create MyDatabase 

de iniciar su base de datos

sqllocaldb start MyDatabase 

de regresar a VS y cambiar la cadena de conexión a

connectionString="Data Source=(LocalDB)\MyDatabase;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;" 
Cuestiones relacionadas