OdbcConnection.ConnectionString Свойство

Определение

Возвращает или задает строку, используемую для открытия источника данных.Gets or sets the string used to open a data source.

public:
 virtual property System::String ^ ConnectionString { System::String ^ get(); void set(System::String ^ value); };
public:
 property System::String ^ ConnectionString { System::String ^ get(); void set(System::String ^ value); };
public override string ConnectionString { get; set; }
public string ConnectionString { get; set; }
[System.ComponentModel.SettingsBindable(true)]
public override string ConnectionString { get; set; }
member this.ConnectionString : string with get, set
[<System.ComponentModel.SettingsBindable(true)>]
member this.ConnectionString : string with get, set
Public Overrides Property ConnectionString As String
Public Property ConnectionString As String

Значение свойства

String

Строка подключения драйвера ODBC, включающая параметры, необходимые для установления начального подключения, например, имя источника данных.The ODBC driver connection string that includes settings, such as the data source name, needed to establish the initial connection. Значение по умолчанию — пустая строка.The default value is an empty string (""). Его максимальная длина равна 1024 символам.The maximum length is 1024 characters.

Реализации

Атрибуты

Комментарии

ConnectionStringСвойство предназначено для согласования формата строки подключения ODBC как можно точнее.The ConnectionString property is designed to match ODBC connection string format as closely as possible. Параметр ConnectionString можно задать только в том случае, если соединение закрывается, и, как только оно задано, передается без изменений, в диспетчер драйверов и базовый драйвер.The ConnectionString can be set only when the connection is closed, and as soon as it is set it is passed, unchanged, to the Driver Manager and the underlying driver. Поэтому синтаксис для ConnectionString должен точно соответствовать параметрам, поддерживаемым диспетчером драйверов и базовым драйвером.Therefore, the syntax for the ConnectionString must exactly match what the Driver Manager and underlying driver support.

Свойство можно использовать ConnectionString для подключения к различным источникам данных.You can use the ConnectionString property to connect to a variety of data sources. Сюда входит имя источника данных ODBC (DSN).This includes an ODBC data source name (DSN). В следующем примере показаны несколько возможных строк подключения.The following example illustrates several possible connection strings.

"Driver={SQL Server};Server=(local);Trusted_Connection=Yes;Database=AdventureWorks;"  

"Driver={Microsoft ODBC for Oracle};Server=ORACLE8i7;Persist Security Info=False;Trusted_Connection=Yes"  

"Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\bin\Northwind.mdb"  

"Driver={Microsoft Excel Driver (*.xls)};DBQ=c:\bin\book1.xls"  

"Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=c:\bin"  

"DSN=dsnname"  

Примечание

Поставщик данных платформа .NET Framework для ODBC не поддерживает Persist Security Info ключевое слово, которое поддерживается другими платформа .NET Frameworkными поставщиками данных.The .NET Framework Data Provider for ODBC does not support the Persist Security Info keyword that is supported by other .NET Framework data providers. Однако ConnectionString свойство ведет себя так, как если Persist Security Info бы было установлено значение false .However, the ConnectionString property behaves as if Persist Security Info were set to false. Это означает, что нельзя получить пароль из свойства, ConnectionString Если соединение было открыто.This means that you cannot retrieve the password from the ConnectionString property if the connection has been opened. Когда ConnectionString свойство считывается из OdbcConnection открытого объекта, строка подключения возвращается минус пароль.When the ConnectionString property is read from an OdbcConnection object that has been opened, the connection string is returned minus the password. Это поведение изменить нельзя. Поэтому, если приложению требуется пароль, сохраните его отдельно перед вызовом Open .You cannot change this behavior; therefore, if the application requires the password, store it separately before calling Open.

Многие параметры, указанные в строке, имеют соответствующие свойства только для чтения (например, Server=(local) , которые соответствуют DataSource свойству).Many of the settings specified in the string have corresponding read-only properties (for example, Server=(local), which corresponds to the DataSource property). Эти свойства обновляются после открытия соединения, за исключением случаев обнаружения ошибки.These properties are updated after the connection is opened, except when an error is detected. В этом случае ни одно из свойств не обновляется.In this case, none of the properties are updated. OdbcConnection свойства (например, Database ) возвращают только параметры по умолчанию или параметры, указанные в ConnectionString .OdbcConnection properties (such as Database) return only default settings or those settings specified in the ConnectionString.

В Microsoft .NET Framework версии 1,0 проверка строки подключения не выполняется до тех пор, пока приложение не вызовет Open метод.In the Microsoft .NET Framework version 1.0, validation of the connection string does not occur until an application calls the Open method. Для проверки строки подключения отвечает базовый драйвер ODBC.It is the responsibility of the underlying ODBC driver to validate the connection string. Если строка подключения содержит недопустимые или неподдерживаемые свойства, драйвер может вызвать OdbcException во время выполнения.If the connection string contains invalid or unsupported properties, the driver may raise an OdbcException at run time.

Однако в платформа .NET Framework версии 1,1 и более поздних выводятся некоторые основные проверки строки подключения, как только задается ConnectionString свойство.However, in the .NET Framework version 1.1 and later versions, some basic validation of the connection string occurs as soon as you set the ConnectionString property. В этот момент поставщик данных проверяет, соответствует ли строка подключения "keyword = value;..." но не проверяет, являются ли ключевые слова или значения допустимыми.At that time, the data provider verifies that the connection string meets the "keyword=value;..." format, but it does not verify whether keywords or values are valid. Оставшаяся проверка выполняется базовым драйвером ODBC, когда приложение вызывает Open метод.The remaining verification is performed by the underlying ODBC driver when the application calls the Open method.

Строка подключения ODBC имеет следующий синтаксис:An ODBC connection string has the following syntax:

connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string  
empty-string ::=  
attribute ::= attribute-keyword=attribute-value | DRIVER=[{]attribute-value[}]  
attribute-keyword ::= DSN | UID | PWD  
 | driver-defined-attribute-keyword  
attribute-value ::= character-string  
driver-defined-attribute-keyword ::= identifier  

где character-string содержит ноль или более символов; identifier имеет один или несколько символов; attribute-keyword не учитывает регистр; регистр символов attribute-value может быть чувствительным к регистру; значение ключевого слова DSN не состоит только из пробелов.where character-string has zero or more characters; identifier has one or more characters; attribute-keyword is not case sensitive; attribute-value can be case sensitive; and the value of the DSN keyword does not consist only of blanks.

Из-за грамматики в строке соединения и файла инициализации следует избегать использования ключевых слов и значений атрибутов, которые содержат символы [] {} (),;? * =! @ не заключено в фигурные скобки.Because of connection string and initialization file grammar, keywords and attribute values should be avoided that contain the characters []{}(),;?*=!@ not enclosed with braces. Значение ключевого слова DSN не может состоять только из пробелов и не должно содержать начальные пробелы.The value of the DSN keyword cannot consist only of blanks and should not contain leading blanks. Из-за грамматики в системных сведениях ключевые слова и имена источников данных не могут содержать символ обратной косой черты ( \ ).Because of the grammar of the system information, keywords and data source names cannot contain the backslash (\) character.

Приложениям не нужно добавлять фигурные скобки вокруг значения атрибута после ключевого слова Driver, если только атрибут не содержит точку с запятой (;), в этом случае требуются фигурные скобки.Applications do not have to add braces around the attribute value after the Driver keyword unless the attribute contains a semicolon (;), in which case the braces are required. Если значение атрибута, получаемое драйвером, содержит фигурные скобки, драйвер не должен удалять их, но должен быть частью возвращенной строки подключения.If the attribute value that the driver receives includes braces, the driver should not remove them but they should be part of the returned connection string.

ИМЯ DSN или строка подключения, заключенные в фигурные скобки ( {} ), которые содержат любой из символов [] {} (),;? * =! @ передается драйверу неизменным.A DSN or connection string value enclosed with braces ({}) that contains any of the characters []{}(),;?*=!@ is passed intact to the driver. Однако при использовании этих символов в ключевом слове диспетчер драйверов возвращает ошибку при работе с файловыми DSN, но передает строку подключения драйверу для обычных строк подключения.However, when you use these characters in a keyword, the Driver Manager returns an error when you work with file DSNs, but passes the connection string to the driver for regular connection strings. Старайтесь не использовать внедренные фигурные скобки в значении ключевого слова.Avoid using embedded braces in a keyword value.

Строка подключения может включать любое количество определенных драйвером ключевых слов.The connection string may include any number of driver-defined keywords. Поскольку ключевое слово DRIVER не использует информацию из системы, драйвер должен определить достаточно ключевых слов, чтобы драйвер мог подключаться к источнику данных, используя только сведения из строки подключения.Because the DRIVER keyword does not use information from the system, the driver must define enough keywords so that a driver can connect to a data source using only the information in the connection string. Драйвер определяет, какие ключевые слова необходимы для подключения к источнику данных.The driver defines which keywords are required to connect to the data source.

Если в строке подключения повторяются какие-либо ключевые слова, то нет никакой гарантии, какое значение будет выбрано.If any keywords are repeated in the connection string, there is no guarantee which value will be selected.

Примечание

Если драйвер ODBC поддерживает строки подключения длиннее 1024 символов, можно использовать имя источника данных (DSN), чтобы превысить ограничение на максимальную длину.If an ODBC driver supports connection strings longer than 1024 characters, you can use a data source name (DSN) to exceed the maximum length limitation.

Применяется к