Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Строка подключения содержит сведения для инициализации, передаваемые в виде параметра от поставщика данных в источник данных. Поставщик данных получает строку подключения в качестве значения свойства 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. Microsoft. Data.SqlClient поддерживает множество ключевых слов из старых API, но обычно является более гибким и принимает синонимы для многих распространенных ключевых слов строка подключения.
Опечатки могут привести к ошибкам. Например, Integrated Security=true считается допустимым, а IntegratedSecurity=true вызовет ошибку.
Строки подключения, созданные вручную во время выполнения из непроверенных входных данных пользователя, уязвимы для атак инъекции строк и ставят под угрозу безопасность на уровне источника данных. Для решения этих проблем ADO.NET 2.0 представил построители строк подключения для каждого поставщика данных .NET Framework. Эти построители строк подключения предоставляют параметры в виде строго типизированных свойств и позволяют проверить строки подключения перед отправкой в источник данных.
Внимание
Корпорация Майкрософт рекомендует использовать самый безопасный поток проверки подлинности. Если вы подключаетесь к Azure SQL, Управляемые удостоверения для ресурсов Azure — это рекомендуемый метод проверки подлинности.
В этом разделе
Построители строк подключения
Демонстрирует, как использовать ConnectionStringBuilder классы для создания допустимых строк подключения во время выполнения.
Строки подключения и файлы конфигурации
Демонстрирует хранение и получение строк соединения в файлах конфигурации.
Синтаксис строки подключения
Описывает настройку строк соединения, зависящих от поставщика, для SqlClient, OracleClient, OleDb и Odbc.
Защита сведений о подключении
Демонстрирует методы защиты сведений, используемых для подключения к источнику данных.