OleDbConnection.ConnectionString OleDbConnection.ConnectionString OleDbConnection.ConnectionString OleDbConnection.ConnectionString Property

定義

データベースを開くために使用する文字列を取得または設定します。Gets or sets the string used to open a database.

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

プロパティ値

データ ソース名、および初期接続を確立するために必要なその他のパラメーターを含む OLE DB プロバイダー接続文字列。The OLE DB provider connection string that includes the data source name, and other parameters needed to establish the initial connection. 既定値は空の文字列です。The default value is an empty string.

実装

例外

無効な接続文字列引数が指定されているか、必要な接続文字列の引数が指定されていません。An invalid connection string argument has been supplied or a required connection string argument has not been supplied.

次の例では、作成、OleDbConnectionおよび接続文字列の一部のプロパティを設定します。The following example creates an OleDbConnection and sets some of its properties in the connection string.

static void OpenConnection(string connectionString)
{
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        try
        {
            connection.Open();
            Console.WriteLine("ServerVersion: {0} \nDataSource: {1}",
                connection.ServerVersion, connection.DataSource);
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        // The connection is automatically closed when the
        // code exits the using block.
    }
}
Public Sub OpenConnection(ByVal connectionString As String)

    Using connection As New OleDbConnection(connectionString)
        Try
            connection.Open()
            Console.WriteLine("Server Version: {0} DataSource: {1}", _
                connection.ServerVersion, connection.DataSource)
        Catch ex As Exception
            Console.WriteLine(ex.Message)
        End Try
        ' The connection is automatically closed when the
        ' code exits the Using block.
    End Using
End Sub

注釈

ConnectionStringは OLE DB 接続文字列の形式を次の例外とできるだけ一致するように設計されています。The ConnectionString is designed to match OLE DB connection string format as closely as possible with the following exceptions:

  • "プロバイダー = value "句が必要です。The "Provider = value " clause is required. ただし、使用することはできません"プロバイダー MSDASQL =".NET Framework Data Provider for OLE DB サポートしていないため、OLE DB Provider for ODBC (MSDASQL)。However, you cannot use "Provider = MSDASQL" because the .NET Framework Data Provider for OLE DB does not support the OLE DB Provider for ODBC (MSDASQL). ODBC データ ソースにアクセスするには、使用、OdbcConnection内のオブジェクト、System.Data.Odbc名前空間。To access ODBC data sources, use the OdbcConnection object that is in the System.Data.Odbc namespace.

  • ODBC や ADO とは異なり、返される接続文字列は、ユーザー設定と同じConnectionString、セキュリティ情報引いた場合Persist Security Infoに設定されているfalse(既定値)。Unlike ODBC or ADO, the connection string that is returned is the same as the user-set ConnectionString, minus security information if Persist Security Info is set to false (default). .NET Framework Data Provider for OLE DB になるか設定していない場合、接続文字列にパスワードを返すしていない、Persist Security Infoキーワードをtrue(推奨されません)。The .NET Framework Data Provider for OLE DB does not persist or return the password in a connection string unless you set the Persist Security Info keyword to true (not recommended). 高レベルのセキュリティを維持するために強くお勧めを使用すること、Integrated SecurityキーワードPersist Security Info設定falseします。To maintain a high level of security, it is strongly recommended that you use the Integrated Security keyword with Persist Security Info set to false.

使用することができます、ConnectionStringプロパティをさまざまなデータ ソースに接続します。You can use the ConnectionString property to connect to a variety of data sources. 次の例では、いくつかの可能な接続文字列を示します。The following example illustrates several possible connection strings.

"Provider=MSDAORA; Data Source=ORACLE8i7;Persist Security Info=False;Integrated Security=Yes"  

"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\bin\LocalAccess40.mdb"  

"Provider=SQLOLEDB;Data Source=(local);Integrated Security=SSPI"  

場合、Data Sourceキーワードが接続文字列で指定されていない、プロバイダーは 1 つが使用可能な場合は、ローカルのサーバーに接続しようとしています。If the Data Source keyword is not specified in the connection string, the provider will try to connect to the local server if one is available.

接続文字列の詳細については、次を参照してください。使用した Connection String Keywords with SQL Server Native Client を使用してします。For more information about connection strings, see Using Connection String Keywords with SQL Server Native Client.

ConnectionStringプロパティは、接続が閉じられたときにのみ設定できます。The ConnectionString property can be set only when the connection is closed. 接続文字列の値の多くに、対応する読み取り専用プロパティがあります。Many of the connection string values have corresponding read-only properties. 接続文字列が設定されている場合、エラーが検出された場合を除き、これらのプロパティが更新します。When the connection string is set, these properties are updated, except when an error is detected. ここで、プロパティのいずれも更新されます。In this case, none of the properties are updated. OleDbConnection プロパティに格納されている設定のみを返す、ConnectionStringします。OleDbConnection properties return only those settings that are contained in the ConnectionString.

リセット、ConnectionString閉じた接続に対して、すべての接続文字列の値と関連するプロパティをリセットします。Resetting the ConnectionString on a closed connection resets all connection string values and related properties. これには、パスワードが含まれます。This includes the password. 含む接続文字列を設定する場合など"Initial Catalog = AdventureWorks"への接続文字列をリセットし、"プロバイダー = SQLOLEDB; データ ソース = MySQLServer; IntegratedSecurity = SSPI"、Databaseプロパティに設定されなくAdventureWorks です。For example, if you set a connection string that includes "Initial Catalog= AdventureWorks", and then reset the connection string to "Provider= SQLOLEDB;Data Source= MySQLServer;IntegratedSecurity=SSPI", the Database property is no longer set to AdventureWorks. (接続文字列の初期カタログ値に対応、Databaseプロパティです)。(The Initial Catalog value of the connection string corresponds to the Database property.)

このプロパティが設定されていると、接続文字列の予備検証が実行されます。A preliminary validation of the connection string is performed when the property is set. 場合の値をProviderConnect TimeoutPersist Security Info、またはOLE DB Servicesが含まれる文字列で、これらの値がチェックされます。If values for the Provider, Connect Timeout, Persist Security Info, or OLE DB Services are included in the string, these values are checked. アプリケーションを呼び出すと、Openメソッド、接続文字列が完全に検証します。When an application calls the Open method, the connection string is fully validated. など、接続文字列に無効またはサポートされていないプロパティ、実行時に例外が含まれている場合ArgumentExceptionが生成されます。If the connection string contains invalid or unsupported properties, a run-time exception, such as ArgumentException, is generated.

注意事項

接続情報を提供することは、 OleDbConnection Universal Data Link (UDL) ファイルです。 ただししないでそうです。It is possible to supply connection information for an OleDbConnection in a Universal Data Link (UDL) file; however you should avoid doing so. UDL ファイルは暗号化されていないと、クリア テキストで接続文字列情報を公開します。UDL files are not encrypted and expose connection string information in clear text. UDL ファイルは、アプリケーションにとって外部ファイルをベースにしたリソースであるため、.NET Framework でセキュリティ保護できません。Because a UDL file is an external file-based resource to your application, it cannot be secured using the .NET Framework.

接続文字列の基本形式には、一連キーワード/値ペアのセミコロンで区切ってにはが含まれています。The basic format of a connection string includes a series of keyword/value pairs separated by semicolons. それぞれのキーワードと値の関連付けには、等号 (=) が使用されます。The equal sign (=) connects each keyword and its value. セミコロン、単一引用符または二重引用符文字が含まれている値を含めるには、値を二重引用符で囲む必要があります。To include values that contain a semicolon, single-quote character, or double-quote character, the value must be enclosed in double quotation marks. セミコロンと二重引用符文字の両方が、値が含まれる場合、値は単一引用符で囲むことができます。If the value contains both a semicolon and a double-quote character, the value can be enclosed in single quotation marks. 単一引用符も値が二重引用符文字で始まる場合に役立ちます。The single quotation mark is also useful if the value starts with a double-quote character. 逆に、値が単一引用符で始まる場合は、二重引用符を使用できます。Conversely, the double quotation mark can be used if the value starts with a single quotation mark. 値に単一引用符と二重引用符の両方の文字が含まれている場合は、値内で発生するたびに値を囲むために使用する引用符文字が倍増する必要があります。If the value contains both single-quote and double-quote characters, the quotation-mark character used to enclose the value must be doubled every time it occurs within the value.

文字列値の先頭または末尾のスペースを含めるには、単一引用符または二重引用符のいずれかの値を囲む必要があります。To include preceding or trailing spaces in the string value, the value must be enclosed in either single quotation marks or double quotation marks. 引用符で囲まれている場合でも、整数、ブール値、列挙値の先頭または末尾の空白は無視されます。Any leading or trailing spaces around integer, Boolean, or enumerated values are ignored, even if enclosed in quotation marks. ただし、文字列リテラル キーワードまたは値内にスペースが保持されます。However, spaces within a string literal keyword or value are preserved. 一重または二重引用符は、区切り記号を使用せず、接続文字列内で使用可能性があります (たとえば、Data Source= my'ServerまたはData Source= my"Server) 引用符の文字が値の最初または最後の文字でない限り、します。Single or double quotation marks may be used within a connection string without using delimiters (for example, Data Source= my'Server or Data Source= my"Server) unless a quotation-mark character is the first or last character in the value.

キーワードまたは値を等号 (=) を含めるもう 1 つの等号 (=) を前する必要があります。To include an equal sign (=) in a keyword or value, it must be preceded by another equal sign. たとえば、仮想的な接続文字列でFor example, in the hypothetical connection string

"key==word=value"  

キーワードは"キー = word"、値は"value"です。the keyword is "key=word" and the value is "value".

場合、キーワードで特定のキーワード = 値のペアから最後の出現が設定された値で使用される接続文字列に複数回が発生します。If a specific keyword in a keyword=value pair occurs multiple times in a connection string, the last occurrence listed is used in the value set.

キーワードは、大文字小文字が区別されません。Keywords are not case sensitive.

注意事項

接続文字列に追加 ダイアログ ボックスからユーザーの ID とパスワードの情報を取得するときに、ユーザー入力に基づいて接続文字列を構築するときに、注意を使用してください。You should use caution when constructing a connection string based on user input, for example, when retrieving user ID and password information from a dialog box and appending it to the connection string. アプリケーションがユーザー埋め込むことなど、これらの値で追加の接続文字列パラメーターとしてパスワードを入力することを確認してください"なデータベースができない"別のデータベースに接続するためにします。The application should make sure that a user cannot embed additional connection-string parameters in these values, for example, entering a password as "validpassword;database= somedb" in an attempt to attach to a different database. OLE DB 接続のプロパティの拡張接続文字列パラメーターを使用する場合は、ユーザー Id および可能な場合にクリア テキストでパスワードの保存を避ける必要がありますので、ユーザー Id とパスワードを渡すことを避けるの既定の設定Persist Security Info= falseしません影響を与える、Extended Propertiesパラメーター。If you use the Extended Properties connection string parameter for OLE DB connections, avoid passing user IDs and passwords because you should avoid storing user IDs and passwords in clear text if you can, and because the default setting of Persist Security Info= false does not affect the Extended Properties parameter.

適用対象

こちらもご覧ください