首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >尝试为文件....database1.mdf附加自动命名的数据库失败

尝试为文件....database1.mdf附加自动命名的数据库失败
EN

Stack Overflow用户
提问于 2012-09-24 21:26:39
回答 24查看 98.7K关注 0票数 34

我在调试我的visual studio 2010网站时遇到以下错误:

尝试为文件C:\Users...\Desktop\Dpp2012New\App_Data\dppdatabase.mdf附加自动命名的数据库

失败。存在同名的数据库,或者无法打开指定的文件,或者该文件位于UNC共享上。

说明:当前web请求执行过程中发生未处理异常。请查看堆栈跟踪,以了解有关错误的更多信息以及错误在代码中的来源。

异常详细信息: System.Data.SqlClient.SqlException:尝试为文件C:\Users...\Desktop\Dpp2012New\App_Data\dppdatabase.mdf附加自动命名的数据库失败。存在同名的数据库,或者无法打开指定的文件,或者该文件位于UNC共享上。

这是我的web.config中的连接字符串

代码语言:javascript
复制
<connectionStrings>
    <add name="ApplicationServices" 
         connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" 
         providerName="System.Data.SqlClient"/>
    <add name="ConnectionString" 
         connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\dppdatabase.mdf;Integrated Security=SSPI" 
         providerName="System.Data.SqlClient"/>
</connectionStrings>

我通过我的网站访问它:

代码语言:javascript
复制
Dim connectionString As String = ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString

堆栈跟踪将错误行显示为:

代码语言:javascript
复制
 Dim conn As New SqlConnection(connectionString)
 Dim dr As SqlDataReader
 conn.Open() 'This is the error line as per stacktrace

我已经给了上述文件夹所需的权限,所以它不可能是“或指定的文件无法打开”的问题。如果我们看一下这个论坛中与同一错误相关的所有帖子,显然可以发现这个错误的深刻之处。然而,这些解决方案都不能解决我的问题。我尝试过的一些资源是:

  1. http://weblogs.asp.net/scottgu/archive/2005/08/25/423703.aspx
  2. http://blogs.msdn.com/b/webdevelopertips/archive/2010/05/06/tip-106-did-you-know-how-to-create-the-aspnetdb-mdf-file.aspx
  3. http://forums.asp.net/t/1033225.aspx

我热切地期待着一个解决方案。

EN

回答 24

Stack Overflow用户

发布于 2013-02-09 02:34:12

我也有这个问题,这是一个痛苦的问题。我配置了我的连接字符串并设法解决了这个问题。在连接字符串中,我将AttachDbFilename属性的值|DataDirectory|\dbfilename.mdf替换为文件的路径。|数据目录|仅当数据库文件在同一项目内的App_Data文件夹下时才能使用。

因此,将AttachDbFilename属性更改为mdf文件的直接路径,修复了我的问题。

AttachDbFilename=C:\MyApp\App\DAL\db.mdf

我希望这对你有用。

票数 36
EN

Stack Overflow用户

发布于 2014-01-15 23:24:37

尝试创建连接字符串,如下所示:

代码语言:javascript
复制
 <add name="ECommerce" connectionString="Data Source=(localdb)\v11.0;Initial Catalog=C:\USERS\dL\DESKTOP\DATABASE\MYSHOP.MDF;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False" providerName="System.Data.SqlClient"/>

这对我很有效。

票数 10
EN

Stack Overflow用户

发布于 2017-08-18 17:15:47

代码语言:javascript
复制
<add name="Connections" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/>

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12566036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档