【问题标题】:Keyword not supported: 'data source' web.config不支持关键字:“数据源”web.config
【发布时间】:2014-06-16 15:29:08
【问题描述】:

我似乎看不出问题出在我的连接字符串中,字符串中有 " 我什至尝试按照 stackoverflow 上的建议添加单引号,但它似乎仍然没有做任何事情。

下面是我的连接字符串,出于安全考虑,取出并重命名了实际信息;

<connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=IP ADDRESS;Initial Catalog=DB NAME;integrated security=False;Persist Security Info=True;User ID=USERID;Password=PASSWORD" providerName="System.Data.SqlClient" />
    <add name="ENTITYNAME" connectionString="metadata=res://*/ModelName.csdl|res://*/ModelName.ssdl|res://*/ModelName.msl;provider=System.Data.SqlClient;provider connection string=IPADDRESS&quot;Data Source=IP ADDRESS;initial catalog=DB NAME;integrated security=False;MultipleActiveResultSets=True;App=EntityFramework;User ID=USERNAME;Password=PASSWORD&quot;" providerName="System.Data.EntityClient" />      
</connectionStrings>

【问题讨论】:

  • 您的第二个连接字符串中的ip地址似乎有两次?
  • @Guffa 好地方!小学生错误。修改了连接字符串,效果很好。

标签: c# web-config database-connection connection-string datasource


【解决方案1】:

这部分连接字符串似乎是问题的根源:

...provider connection string=IPADDRESS&quot;Data Source=IP ADDRESS;...

IPADDRESS&amp;quot;Data 应该只是 &amp;quot;Data。您的IP ADDRESS 值出现两次;其中之一(引号 ["""] 之前的那个)使连接字符串无效。

您的 web.config 条目应该是:

<add name="ENTITYNAME" connectionString="metadata=res://*/ModelName.csdl|res://*/ModelName.ssdl|res://*/ModelName.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=IP ADDRESS;initial catalog=DB NAME;integrated security=False;MultipleActiveResultSets=True;App=EntityFramework;User ID=USERNAME;Password=PASSWORD&quot;" providerName="System.Data.EntityClient" />

【讨论】:

  • 是的 - 在您发布此问题之前刚刚修改了问题 - 您是 100% 正确的。我犯的愚蠢错误。谢谢。
【解决方案2】:

IP ADDRESS 看起来不对,通常如果使用 say sqlexpress 连接字符串将是:

"数据源=.\SQLEXPRESS ....

对于本地版本,或者您可能需要替换“。”使用机器名或本地 IP 地址(假设是开发环境)

【讨论】:

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