Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Строка подключения содержит сведения для инициализации, передаваемые в виде параметра от поставщика данных в источник данных. Поставщик данных получает строку подключения в качестве значения свойства DbConnection.ConnectionString. Поставщик анализирует эту строку подключения, проверяет правильность синтаксиса и поддержку ключевых слов. Затем с помощью метода DbConnection.Open() полученные параметры подключения передаются в источник данных. Источник данных выполняет дополнительную проверку и устанавливает подключение.
Синтаксис строки подключения
Строка подключения содержит список пар "ключ-значение", разделенных точками с запятой:
keyword1=value; keyword2=value;
Ключевые слова не зависят от регистра. Однако чувствительность значений к регистру может зависеть от источника данных. Ключевые слова и значения могут содержать символы пробелов. Начальные и конечные пробелы игнорируются в ключевых словах и незаключенных в кавычки значениях.
Если значение содержит точку с запятой, управляющие символы Юникода, начальные или конечные пробелы, его необходимо заключить в одинарные или двойные кавычки. Например:
Keyword=" whitespace ";
Keyword='special;character';
Символ, который заключает, может не содержаться в заключаемом значении. Таким образом, значение с одинарными кавычками можно заключать только в двойные кавычки, и наоборот:
Keyword='double"quotation;mark';
Keyword="single'quotation;mark";
Также можно экранировать этот символ, заменив его парой таких символов:
Keyword="double""quotation";
Keyword='single''quotation';
Сами кавычки, а также знак равенства, экранировать не нужно, то есть следующие строки подключения являются допустимыми:
Keyword=no "escaping" 'required';
Keyword=a=b=c
Так как каждое значение считывается до следующей точки с запятой или конца строки, значение в последнем примере — это a=b=c, и финальная точка с запятой является необязательной.
Все строка подключения используют один и тот же базовый синтаксис, описанный ранее. Однако набор распознанных ключевых слов зависит от поставщика и развивается на протяжении многих лет от предыдущих API, таких как ODBC. Поставщик данных платформы .NET Framework для SQL Server (SqlClient) поддерживает множество ключевых слов из старых API, но обычно является более гибким и принимает синонимы для многих распространенных ключевых слов строки подключения.
Опечатки могут привести к ошибкам. Например, Integrated Security=true считается допустимым, а IntegratedSecurity=true вызовет ошибку.
Строки подключения, созданные вручную во время выполнения из непроверенных входных данных пользователя, уязвимы для атак инъекции строк и ставят под угрозу безопасность на уровне источника данных. Для решения этих проблем ADO.NET 2.0 представил построители строк подключения для каждого поставщика данных .NET Framework. Эти построители строк подключения предоставляют параметры в виде строго типизированных свойств и позволяют проверить строки подключения перед отправкой в источник данных.
Внимание
Корпорация Майкрософт рекомендует использовать самый безопасный поток проверки подлинности. Если вы подключаетесь к Azure SQL, Управляемые удостоверения для ресурсов Azure — это рекомендуемый метод проверки подлинности.
В этом разделе
Построители строк подключения
Демонстрирует, как использовать ConnectionStringBuilder классы для создания допустимых строк подключения во время выполнения.
Строки подключения и файлы конфигурации
Демонстрирует хранение и получение строк соединения в файлах конфигурации.
Синтаксис строки подключения
Описывает настройку строк соединения, зависящих от поставщика, для SqlClient, OracleClient, OleDb и Odbc.
Защита сведений о подключении
Демонстрирует методы защиты сведений, используемых для подключения к источнику данных.