我有以下连接字符串,您会注意到“Provider's.Tests”,请注意单引号,如何将其输入web.config以使其有效?
<connectionStrings>
<clear/>
<add name="Provider" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename="C:\Projects\Provider's.Tests\app_data\db.mdf";Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
答案 0 :(得分:7)
我认为问题不在于Provider's
,而是路径周围的双引号。
尝试删除它,使其显示为AttachDbFilename=C:\Projects\Provider's.Tests\app_data\db.mdf;
如果连接字符串中有重要信息,请尝试对其进行编码:
AttachDbFilename="C:\Projects\Provider's.Tests\app_data\db.mdf;"
答案 1 :(得分:2)
您应该对引号和引号进行编码。引号(“)使用"
进行编码,撇号(')使用'
进行编码。这里的主要问题是引号,它可能仍然可以在不对撇号进行编码的情况下使用引号价值观。
<connectionStrings>
<clear/>
<add name="Provider" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename="C:\Projects\Provider's.Tests\app_data\db.mdf";Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
答案 2 :(得分:1)
你应该使用'撇号和&amp; quot;有关在web.config文件中使用此类特殊字符的引号。
但是,正如其他人所建议的那样,您只需要删除报价,因为它们不是必需的。
答案 3 :(得分:1)
在您的情况下,单引号不是问题。这是文件名周围的双引号。你可以这样逃避它:
<add
name="Provider"
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename="C:\Projects\Provider's.Tests\app_data\db.mdf";Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient"/>