【问题标题】:A database > with the same name exists (Visual studio 2015, Vb.net, local DB)> 存在同名数据库(Visual Studio 2015、Vb.net、本地 DB)
【发布时间】:2016-04-18 17:46:18
【问题描述】:

我的连接字符串是:

con.ConnectionString = " Data Source=(LocalDB)\MSSQLLocalDB; AttachDbFilename=|DataDirectory|\ Database1.mdf;Integrated Security=true;"

我的 app.config 是:

<connectionStrings>
        <add name="materials_summury.My.MySettings.Database1ConnectionString"
            connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True"
            providerName="System.Data.SqlClient" />
    </connectionStrings>

但我收到了错误消息:

尝试为文件附加自动命名的数据库 C:\Users\example\Documents\Visual Studio 2015\Projects\materials summury\materials summury\bin\Debug\ Database1.mdf 失败。一个数据库 存在同名文件,或指定文件无法打开,或 位于 UNC 共享上。

你能帮忙吗?我在VS 2015下表达它是一个localdb。 提前致谢

【问题讨论】:

  • 为什么要硬编码连接并在 app.config 中使用它?配置文件存在,因此您不必一遍又一遍地编码连接字符串。
  • 感谢您的回答 Sean Lange,因为我想要一个相对路径,而不是 C:\...
  • 嗯?您有一个硬编码的值,它与您的配置文件中的内容完全匹配。也许你的问题在这里没有很好地形成。无论如何,我不喜欢附加 mdf 文件。我更希望有一个 sql server 并连接到它。
  • 我不知道该怎么办,你能帮帮我吗?我只想将我的程序与数据库连接,但我仍然遇到这个问题
  • 好吧,从您发布的内容看来,您正试图多次附加相同的 mdf。你不能那样做。如果你要像这样不断地依附,你也必须不断地分离。缺点是始终附加和分离数据库需要时间。

标签: sql-server database visual-studio visual-studio-2012


【解决方案1】:

\Database1.mdf 之间的连接字符串中似乎有一个嵌入空间:

AttachDbFilename=|DataDirectory|\ Database1.mdf
                                 |
                                 |
                                 Note the space

除非您的数据库真的被命名为“Database1.mdf”,否则我怀疑它会导致您遇到的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多