【问题标题】:Something wrong with app.config (SQL Server Express)app.config 有问题(SQL Server Express)
【发布时间】:2012-10-17 11:42:30
【问题描述】:

在我的 app.config 中:

<add name ="connSpionshopString" connectionString="Data
Source=.\SQLEXPRESS;;AttachDbFileName=|DataDictionary|Spionshop.mdf;
Integrated Security=True;User Instance=True"/>

在我的 form.cs 中:

SqlConnection conn2 = new SqlConnection();
        conn2.ConnectionString = ConfigurationManager
                                 .ConnectionStrings["connSpionshopString"]
                                 .ConnectionString;

这总是会得到一个错误:“键'attachdbfilename'的值无效。”

我不知道这有什么问题.. :(

【问题讨论】:

    标签: c# .net sql-server connection-string


    【解决方案1】:

    你应该可以通过稍微修改它来修复它:

    <add name ="connSpionshopString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFileName=|DataDirectory|Spionshop.mdf;Integrated Security=True;User Instance=True"/> 
    

    你有DataDictionary而不是DataDirectory

    【讨论】:

      【解决方案2】:

      如果 SqlConnection 类认为数据库服务器/主机名不正确,则可能会引发键“attachdbfilename”错误的无效值。使用 SQL Server Express 时,您只能使用本地主机的实例(.、(本地)或 NETBIOS 或本地机器的 DNS 名称)。

      这意味着要么像这样使用

      <add name ="connSpionshopString" connectionString="Data 
      Source=.;AttachDbFileName=|DataDictionary|Spionshop.mdf;Integrated Security=True;User 
      Instance=True"/>
      

      <add name ="connSpionshopString" connectionString="Data 
      Source=machinename;AttachDbFileName=|DataDictionary|Spionshop.mdf;Integrated Security=True;User 
      Instance=True"/>
      

      <add name ="connSpionshopString" connectionString="Data 
      Source=(local);AttachDbFileName=|DataDictionary|Spionshop.mdf;Integrated Security=True;User 
      Instance=True"/>
      

      【讨论】:

      • 看看我的回答,我相信问题是 DataDictionary 而不是 DataDirectory 的类型。是的? +1 以获取有关其他问题的完整答案!
      【解决方案3】:

      我认为 sql 数据库的服务器名称是本地地址,而不是 DataSource 变量中的 /sqlexpress

      【讨论】:

        【解决方案4】:

        我相信你有一个错字:

        connectionString="Data Source=.\SQLEXPRESS; **HERE!! ;** 
                          AttachDbFileName=|DataDictionary|Spionshop.mdf;
                          Integrated Security=True;User Instance=True"
        

        你放了 2 个分号而不是一个。

        【讨论】:

        • 是的,这是一个错字。但这并没有解决问题:(但是谢谢!
        • 看看我的回答,我相信问题是DataDictionary而不是DataDirectory的类型。是吗?
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-05-30
        • 1970-01-01
        • 2010-10-27
        • 2011-12-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多