web.config и кавычки в ConnectionStrings

#asp.net #iis #web-config

#.net #web-config

Вопрос:

У меня есть следующая строка подключения, и вы заметите «Провайдера.Тесты», обратите внимание на одинарную кавычку, как мне ввести это в web.config, чтобы сделать его действительным?

 <connectionStrings>
    <clear/>
    <add name="Provider" connectionString="Data Source=.SQLEXPRESS;AttachDbFilename="C:ProjectsProvider's.Testsapp_datadb.mdf";Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
  

Ответ №1:

Я не думаю, что это Provider's проблема, это двойные кавычки вокруг пути.
Попробуйте просто удалить его, чтобы там было написано AttachDbFilename=C:ProjectsProvider's.Testsapp_datadb.mdf;

Если в строке подключения важно, чтобы она была, попробуйте ее закодировать: AttachDbFilename=amp;quot;C:ProjectsProvider's.Testsapp_datadb.mdf;amp;quot;

Ответ №2:

Вы должны закодировать как кавычки, так и апострофы. Кавычки («) кодируются с помощью amp;quot; , а апострофы (‘) кодируются с помощью amp;apos; . Основная проблема здесь заключается в кавычках, она все еще может работать без кодирования апострофов, поскольку вы используете кавычки вокруг значений.

 <connectionStrings>
    <clear/>
    <add name="Provider" connectionString="Data Source=.SQLEXPRESS;AttachDbFilename=amp;quot;C:ProjectsProvideramp;apos;s.Testsapp_datadb.mdfamp;quot;;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
  

Ответ №3:

В вашем случае одинарная кавычка не является проблемой. Это двойные кавычки, которые вы заключили в имя файла. Вы можете избежать этого следующим образом:

 <add 
    name="Provider" 
    connectionString="Data Source=.SQLEXPRESS;AttachDbFilename=amp;quot;C:ProjectsProvider's.Testsapp_datadb.mdfamp;quot;;Integrated Security=True;User Instance=True" 
    providerName="System.Data.SqlClient"/>
  

Ответ №4:

вы должны использовать ‘ для апострофа и » для кавычек для использования специальных символов, подобных этому, в файле web.config.

Однако, как предлагали другие, вам просто нужно удалить кавычки, поскольку они не требуются.