web.config中存在2个具有相同名称的数据库

时间:2014-01-30 20:30:34

标签: c# asp.net sql linq

我在连接数据库时遇到问题。我收到此错误

An attempt to attach an auto-named database for file C:\Users\Visual Studio 2013\WebSites\RegisterDb\App_Data\RegisterDb.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.

这是我的web.config

<configuration>
   <connectionStrings>
      <add name="ConnectionString" connectionString="Data 
         Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\RegisterDb.mdf;Integrated 
                 Security=True;User Instance=True" 
                 providerName="System.Data.SqlClient" />
      <add name="DdExamen2ConnectionString" connectionString="Data Source=
        (LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\RegisterDb.mdf;Integrated Security=True"
        providerName="System.Data.SqlClient" />
   </connectionStrings>

这里是Register.designer.cs

[global::System.Data.Linq.Mapping.DatabaseAttribute(Name="RegisterDb")]
public partial class RegistersDataContext : System.Data.Linq.DataContext
{

private static System.Data.Linq.Mapping.MappingSource mappingSource = new 
        AttributeMappingSource();


       base(global::System.Configuration.ConfigurationManager.ConnectionStrings
           ["ConnectionString"].ConnectionString, mappingSource)

我不明白我错过了什么?

当我查看Registers.dbml文件时,我看到了Connection:RegisterConnectionString(WebConfig),连接字符串是Data Source =(LocalDb).... 我很确定这是问题所在。任何人都知道如何重新创建ConnectionString?

我在web.config文件中看到了connectionString的2个文件?我做错了什么?

2 个答案:

答案 0 :(得分:1)

您使用了2个连接字符串。删除其中一个。最有可能的第二个连接字符串应该被删除。当你在自己的机器上工作时。\ SQLEXPRESS是连接到服务器的最简单方法。删除第二个....

答案 1 :(得分:0)

如果在应用程序中使用连接字符串,请对同一数据库的所有连接使用相同的连接字符串。

除去

  <add name="DdExamen2ConnectionString" connectionString="Data Source=
    (LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\RegisterDb.mdf;Integrated Security=True"
    providerName="System.Data.SqlClient" />