From 0d631dc3b716838e09c1e6525f0a3a3f71d841e4 Mon Sep 17 00:00:00 2001 From: "Momoto, Seiji" <836856+momoto@users.noreply.github.com> Date: Sun, 22 Apr 2018 23:36:19 +0900 Subject: [PATCH] Update connection-string-syntax.md Hi Team, I found a bit of unnatural sentences in Japanese language, and I would like to fix it. This proposal is supposed to be addressed as a Linguistic Suggestion from my point of view. It would be appreciated if you could take a look at this pull-request. Please let me know if you have any concerns. This request is in regard to: - https://docs.microsoft.com/ja-jp/dotnet/framework/data/adonet/connection-string-syntax - https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/connection-string-syntax Best regards, --- .../data/adonet/connection-string-syntax.md | 382 +++++++++--------- 1 file changed, 191 insertions(+), 191 deletions(-) diff --git a/docs/framework/data/adonet/connection-string-syntax.md b/docs/framework/data/adonet/connection-string-syntax.md index c635b26e106..e131dc20c1f 100644 --- a/docs/framework/data/adonet/connection-string-syntax.md +++ b/docs/framework/data/adonet/connection-string-syntax.md @@ -1,4 +1,4 @@ ---- +--- title: 接続文字列の構文 ms.custom: '' ms.date: 03/30/2017 @@ -21,193 +21,193 @@ ms.sourcegitcommit: b750a8e3979749b214e7e10c82efb0a0524dfcb1 ms.translationtype: MT ms.contentlocale: ja-JP ms.lasthandoff: 04/09/2018 ---- -# 接続文字列の構文 -すべての .NET Framework データ プロバイダーは、`Connection` を継承する オブジェクトに加え、プロバイダー固有の プロパティを持ちます。 それぞれのプロバイダーに固有の接続文字列の構文は、対応する `ConnectionString` プロパティのトピックで説明されています。 次の表は、.NET Framework に含まれている 4 つのデータ プロバイダーを一覧にしたものです。 - -|.NET Framework データ プロバイダー|説明| -|----------------------------------|-----------------| -||Microsoft SQL Server へのデータ アクセスを提供します。 接続文字列の構文の詳細については、「」を参照してください。| -||OLE DB を使って公開されたデータ ソースへのデータ アクセスを提供します。 接続文字列の構文の詳細については、「」を参照してください。| -||ODBC を使って公開されたデータ ソースへのデータ アクセスを提供します。 接続文字列の構文の詳細については、「」を参照してください。| -||Oracle バージョン 8.1.7 以降へのデータ アクセスを提供します。 接続文字列の構文の詳細については、「」を参照してください。| - -## 接続文字列ビルダー - ADO.NET 2.0 では、.NET Framework データ プロバイダー用の次の接続文字列ビルダーが導入されました。 - -- - -- - -- - -- - - 接続文字列ビルダーを使用すると、構文的に正しい接続文字列を実行時に構築できるため、コード内で接続文字列値を手動で連結する必要はありません。 詳細については、次を参照してください。[接続文字列ビルダー](../../../../docs/framework/data/adonet/connection-string-builders.md)です。 - -## Windows 認証 - Windows 認証を使用することをお勧め (とも呼ば*統合セキュリティ*) サポートされているデータ ソースに接続します。 接続文字列の構文は、プロバイダーによって異なります。 .NET Framework データ プロバイダーで使用されている Windows 認証の構文を次の表に示します。 - -|プロバイダー|構文| -|--------------|------------| -|`SqlClient`|`Integrated Security=true;`

`-- or --`

`Integrated Security=SSPI;`| -|`OleDb`|`Integrated Security=SSPI;`| -|`Odbc`|`Trusted_Connection=yes;`| -|`OracleClient`|`Integrated Security=yes;`| - -> [!NOTE] -> `Integrated Security=true` プロバイダーで `OleDb` に設定すると例外がスローされます。 - -## SqlClient 接続文字列 - 接続文字列の構文については、 プロパティで説明されています。 プロパティを使用すると、SQL Server データベースの接続文字列を取得または設定することができます。 以前のバージョンの SQL Server に接続する必要がある場合は、.NET Framework Data Provider for OleDb () を使用する必要があります。 接続文字列のほとんどのキーワードは、 のプロパティにマップされています。 - -> [!IMPORTANT] -> 既定の設定、`Persist Security Info`キーワードは`false`します。 このキーワードを `true` または `yes` に設定すると、ユーザー ID やパスワードなどのセキュリティ関連情報を、接続を開いた後にその接続から取得できます。 保持`Persist Security Info`'éý'`false`を信頼できないソースに機密を要する接続文字列情報へのアクセスがないことを確認します。 - -### SqlClient で Windows 認証 - 接続に Windows 認証を使用して次の形式の構文の各、 **AdventureWorks**ローカル サーバー上のデータベースです。 - -``` -"Persist Security Info=False;Integrated Security=true; - Initial Catalog=AdventureWorks;Server=MSSQL1" -"Persist Security Info=False;Integrated Security=SSPI; - database=AdventureWorks;server=(local)" -"Persist Security Info=False;Trusted_Connection=True; - database=AdventureWorks;server=(local)" -``` - -### SqlClient で SQL Server 認証 - SQL Server への接続には Windows 認証の使用をお勧めします。 ただし、どうしても SQL Server 認証を使用する必要がある場合は、次の構文に従ってユーザー名とパスワードを指定してください。 この例では、アスタリスクを使用して有効なユーザー名とパスワードを表しています。 - -``` -"Persist Security Info=False;User ID=*****;Password=*****;Initial Catalog=AdventureWorks;Server=MySqlServer" -``` - -Azure SQL Database または Azure SQL Data Warehouse に接続し、形式のログインを提供するときに`user@servername`、ことを確認して、`servername`ログインの値に指定された値が一致する`Server=`です。 - -> [!NOTE] -> Windows 認証は SQL Server ログインよりも優先されます。 Integrated Security を true に指定し、ユーザー名とパスワードも指定した場合、ユーザー名とパスワードは無視され、Windows 認証が使用されます。 - -### SQL Server の名前付きインスタンスへの接続します。 -SQL Server の名前付きインスタンスに接続するには、使用、*サーバー名 \ インスタンス名*構文です。 - -``` -Data Source=MySqlServer\MSSQL1;" -``` - -接続文字列の作成時に、 の `SqlConnectionStringBuilder` プロパティをインスタンス名に設定することもできます。 オブジェクトの プロパティは読み取り専用です。 - -### Type System Version の変更 - `Type System Version` の キーワードは、クライアント側での [!INCLUDE[ssNoVersion](../../../../includes/ssnoversion-md.md)] 型の表現を指定します。 キーワードの詳細については、`Type System Version` のトピックを参照してください。 - -## SQL Server Express ユーザー インスタンスへの接続とアタッチ - ユーザー インスタンスは、SQL Server Express の機能の 1 つです。 最小限の特権しか持たないローカル Windows アカウントで実行しているユーザーが、SQL Server データベースにアタッチできます。この場合、管理特権は不要です。 ユーザー インスタンスは、サービスとしてではなく、ユーザーの Windows 資格情報で実行されます。 - - ユーザー インスタンスの操作の詳細については、次を参照してください。 [SQL Server Express ユーザー インスタンス](../../../../docs/framework/data/adonet/sql/sql-server-express-user-instances.md)です。 - -## TrustServerCertificate の使用 - `TrustServerCertificate` キーワードは、有効な証明書を使用して [!INCLUDE[ssNoVersion](../../../../includes/ssnoversion-md.md)] インスタンスに接続する場合にのみ使用できます。 `TrustServerCertificate` を `true` に設定した場合、トランスポート層に SSL が使用されてチャネルが暗号化されます。また、証明書チェーンをたどることによる信頼性の検証は省略されます。 - -``` -"TrustServerCertificate=true;" -``` - -> [!NOTE] -> `TrustServerCertificate` を `true` に設定して暗号化を有効にした場合、接続文字列で `Encrypt` を `false` に設定したとしても、サーバーで指定された暗号化レベルが使用されます。 それ以外の場合、接続は失敗します。 - -### 暗号化の有効化 - サーバーで、証明書がプロビジョニングされていない場合は、暗号化を有効にする、 **Force Protocol Encryption**と**Trust Server Certificate**オプションは、SQL Server 構成マネージャーで設定する必要があります。 このように、検証可能なサーバー証明書がプロビジョニングされていない場合、暗号化には検証を伴わない自己署名入りのサーバー証明書が使用されます。 - - SQL Server で構成されたセキュリティのレベルを、アプリケーションの設定によって緩和することはできません。ただし、必要に応じて厳密にすることはできます。 アプリケーションが要求する暗号化を設定して、`TrustServerCertificate`と`Encrypt`キーワード`true`、確実に暗号化行われるサーバーの証明書がプロビジョニングされていない場合でもと**プロトコルの暗号化**クライアントが構成されていません。 ただし、クライアントの構成で `TrustServerCertificate` を有効にしなかった場合は、プロビジョニングされたサーバー証明書が必要です。 - - 次の表ですべてのケースを説明します。 - -|[プロトコルの暗号化を設定する] クライアント設定|[サーバー証明書を信頼する] クライアント設定|Encrypt/Use Encryption for Data 接続文字列/属性|Trust Server Certificate 接続文字列/属性|結果| -|----------------------------------------------|---------------------------------------------|-------------------------------------------------------------------|-----------------------------------------------------------|------------| -|X|N/A|無効 (既定値)|無視|暗号化は行われません。| -|X|N/A|はい|無効 (既定値)|暗号化は、検証可能なサーバー証明書が提供されている場合にのみ行われます。それ以外の場合は、接続試行が失敗します。| -|X|N/A|はい|はい|暗号化は、検証可能なサーバー証明書が提供されている場合にのみ行われます。それ以外の場合は、接続試行が失敗します。| -|はい|X|無視|無視|暗号化は、検証可能なサーバー証明書が提供されている場合にのみ行われます。それ以外の場合は、接続試行が失敗します。| -|はい|はい|無効 (既定値)|無視|暗号化は、検証可能なサーバー証明書が提供されている場合にのみ行われます。それ以外の場合は、接続試行が失敗します。| -|はい|はい|はい|無効 (既定値)|暗号化は、検証可能なサーバー証明書が提供されている場合にのみ行われます。それ以外の場合は、接続試行が失敗します。| -|はい|はい|はい|はい|暗号化は、検証可能なサーバー証明書が提供されている場合にのみ行われます。それ以外の場合は、接続試行が失敗します。| - - 詳細については、次を参照してください。[を使用して検証を伴わない暗号化](http://go.microsoft.com/fwlink/?LinkId=120500)SQL Server オンライン ブック。 - -## OleDb 接続文字列 - プロパティを使用すると、Microsoft Access などの OLE DB データ ソースの接続文字列を取得または設定することができます。 `OleDb` クラスを使用して、実行時に 接続文字列を作成することもできます。 - -### OleDb 接続文字列の構文 - 接続文字列では、プロバイダー名を指定する必要があります。 次の接続文字列は、Jet プロバイダーを使用して Microsoft Access データベースに接続します。 `UserID` および `Password` キーワードは、データベースがセキュリティ保護されていない場合は省略できます (既定)。 - -``` -Provider=Microsoft.Jet.OLEDB.4.0; Data Source=d:\Northwind.mdb;User ID=Admin;Password=; -``` - - ユーザー レベルのセキュリティを使用して Jet データベースがセキュリティ保護されている場合は、ワークグループ情報ファイル (.mdw) の場所を指定する必要があります。 ワークグループ情報ファイルを使用して接続文字列に表示された資格情報を検証します。 - -``` -Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\Northwind.mdb;Jet OLEDB:System Database=d:\NorthwindSystem.mdw;User ID=*****;Password=*****; -``` - -> [!IMPORTANT] -> 接続情報を指定することは、 **OleDbConnection** Universal Data Link (UDL) ファイルです。 ただししないでそうです。 UDL ファイルは暗号化されないため、接続文字列をテキスト形式で表現してしまいます。 UDL ファイルは、アプリケーションにとって外部ファイルをベースにしたリソースであるため、.NET Framework でセキュリティ保護できません。 UDL ファイルはサポートされていません**SqlClient**です。 - -### DataDirectory を使用した Access/Jet との接続 - `DataDirectory` の使用は `SqlClient` に限定されません。 および .NET データ プロバイダーでも使用できます。 アプリケーションの app_data フォルダーに格納された Northwind.mdb に接続するための 文字列の構文を次の例に示します。 この場所には、システム データベース (System.mdw) も格納されています。 - -``` -"Provider=Microsoft.Jet.OLEDB.4.0; -Data Source=|DataDirectory|\Northwind.mdb; -Jet OLEDB:System Database=|DataDirectory|\System.mdw;" -``` - -> [!IMPORTANT] -> Access/Jet データベースをセキュリティで保護しない場合は、接続文字列にシステム データベースの場所を指定する必要はありません。 既定では、セキュリティが無効になります。すべてのユーザーが、空のパスワードで組み込みの Admin ユーザーとして接続することになります。 ユーザー レベルのセキュリティを正しく実装したとしても、Jet データベースは攻撃に対して無防備です。 ファイル ベースのセキュリティでは克服できない限界があるため、Access/Jet データベースに機密情報を格納することはお勧めできません。 - -### Excel への接続 - Excel ワークブックへの接続には、Microsoft Jet プロバイダーが使用されます。 次の接続文字列では、`Extended Properties` キーワードは Excel に固有のプロパティを設定しています。 「HDR=Yes;」は最初の列にデータではなく行の名前が含まれていることを示し、「IMEX=1;」は "intermixed" データ行を常にテキストとして読み取ることをドライバーに指示しています。 - -``` -Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\MyExcel.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"" -``` - - `Extended Properties` を二重引用符で囲む必要があることに注意してください。 - -### Data Shape プロバイダーの接続文字列の構文 - Microsoft Data Shape プロバイダーを使用するときは、`Provider` および `Data Provider` キーワードを両方使用してください。 Shape プロバイダーを使用して SQL Server のローカル インスタンスに接続する例を次に示します。 - -``` -"Provider=MSDataShape;Data Provider=SQLOLEDB;Data Source=(local);Initial Catalog=pubs;Integrated Security=SSPI;" -``` - -## Odbc 接続文字列 - プロパティを使用すると、OLE DB データベースで接続文字列を取得または設定することができます。 は、Odbc の接続文字列もサポートしています。 - - 次の接続文字列では、Microsoft Text Driver を使用しています。 - -``` -Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=d:\bin -``` - -### DataDirectory を使用した Visual FoxPro との接続 - 次の 接続文字列は、`DataDirectory` を使用して Microsoft Visual FoxPro ファイルに接続する例を示しています。 - -``` -"Driver={Microsoft Visual FoxPro Driver}; -SourceDB=|DataDirectory|\MyData.DBC;SourceType=DBC;" -``` - -## Oracle 接続文字列 - プロパティを使用すると、OLE DB データベースで接続文字列を取得または設定することができます。 は、Oracle の接続文字列もサポートしています。 - -``` -Data Source=Oracle9i;User ID=*****;Password=*****; -``` - - ODBC 接続文字列の構文の詳細については、「」を参照してください。 - -## 関連項目 - [接続文字列](../../../../docs/framework/data/adonet/connection-strings.md) - [データ ソースへの接続](../../../../docs/framework/data/adonet/connecting-to-a-data-source.md) - [ADO.NET のマネージ プロバイダーと DataSet デベロッパー センター](http://go.microsoft.com/fwlink/?LinkId=217917) +--- +# 接続文字列の構文 +すべての .NET Framework データ プロバイダーは、`Connection` を継承する オブジェクトに加え、プロバイダー固有の プロパティを持ちます。 それぞれのプロバイダーに固有の接続文字列の構文は、対応する `ConnectionString` プロパティのトピックで説明されています。 次の表は、.NET Framework に含まれている 4 つのデータ プロバイダーを一覧にしたものです。 + +|.NET Framework データ プロバイダー|説明| +|----------------------------------|-----------------| +||Microsoft SQL Server へのデータ アクセスを提供します。 接続文字列の構文の詳細については、「」を参照してください。| +||OLE DB を使って公開されたデータ ソースへのデータ アクセスを提供します。 接続文字列の構文の詳細については、「」を参照してください。| +||ODBC を使って公開されたデータ ソースへのデータ アクセスを提供します。 接続文字列の構文の詳細については、「」を参照してください。| +||Oracle バージョン 8.1.7 以降へのデータ アクセスを提供します。 接続文字列の構文の詳細については、「」を参照してください。| + +## 接続文字列ビルダー + ADO.NET 2.0 では、.NET Framework データ プロバイダー用の次の接続文字列ビルダーが導入されました。 + +- + +- + +- + +- + + 接続文字列ビルダーを使用すると、構文的に正しい接続文字列を実行時に構築できるため、コード内で接続文字列値を手動で連結する必要はありません。 詳細については、次を参照してください。[接続文字列ビルダー](../../../../docs/framework/data/adonet/connection-string-builders.md)です。 + +## Windows 認証 +データ ソースが Windows 認証 (*統合セキュリティ* とも呼ばれることもあります) をサポートしている場合、Windows 認証 を使用することを推奨します。 接続文字列の構文は、プロバイダーによって異なります。 .NET Framework データ プロバイダーで使用されている Windows 認証の構文を次の表に示します。 + +|プロバイダー|構文| +|--------------|------------| +|`SqlClient`|`Integrated Security=true;`

`-- or --`

`Integrated Security=SSPI;`| +|`OleDb`|`Integrated Security=SSPI;`| +|`Odbc`|`Trusted_Connection=yes;`| +|`OracleClient`|`Integrated Security=yes;`| + +> [!NOTE] +> `Integrated Security=true` プロバイダーで `OleDb` に設定すると例外がスローされます。 + +## SqlClient 接続文字列 + 接続文字列の構文については、 プロパティで説明されています。 プロパティを使用すると、SQL Server データベースの接続文字列を取得または設定することができます。 以前のバージョンの SQL Server に接続する必要がある場合は、.NET Framework Data Provider for OleDb () を使用する必要があります。 接続文字列のほとんどのキーワードは、 のプロパティにマップされています。 + +> [!IMPORTANT] +> 既定の設定、`Persist Security Info`キーワードは`false`します。 このキーワードを `true` または `yes` に設定すると、ユーザー ID やパスワードなどのセキュリティ関連情報を、接続を開いた後にその接続から取得できます。 保持`Persist Security Info`'éý'`false`を信頼できないソースに機密を要する接続文字列情報へのアクセスがないことを確認します。 + +### SqlClient で Windows 認証 +次の構文の各形式は、Windows 認証を使用してローカル サーバー上の **AdventureWorks** データベースへ接続します。 + +``` +"Persist Security Info=False;Integrated Security=true; + Initial Catalog=AdventureWorks;Server=MSSQL1" +"Persist Security Info=False;Integrated Security=SSPI; + database=AdventureWorks;server=(local)" +"Persist Security Info=False;Trusted_Connection=True; + database=AdventureWorks;server=(local)" +``` + +### SqlClient で SQL Server 認証 + SQL Server への接続には Windows 認証の使用をお勧めします。 ただし、どうしても SQL Server 認証を使用する必要がある場合は、次の構文に従ってユーザー名とパスワードを指定してください。 この例では、アスタリスクを使用して有効なユーザー名とパスワードを表しています。 + +``` +"Persist Security Info=False;User ID=*****;Password=*****;Initial Catalog=AdventureWorks;Server=MySqlServer" +``` + +Azure SQL Database または Azure SQL Data Warehouse に接続し、形式のログインを提供するときに`user@servername`、ことを確認して、`servername`ログインの値に指定された値が一致する`Server=`です。 + +> [!NOTE] +> Windows 認証は SQL Server ログインよりも優先されます。 Integrated Security を true に指定し、ユーザー名とパスワードも指定した場合、ユーザー名とパスワードは無視され、Windows 認証が使用されます。 + +### SQL Server の名前付きインスタンスへの接続します。 +SQL Server の名前付きインスタンスに接続するには、使用、*サーバー名 \ インスタンス名*構文です。 + +``` +Data Source=MySqlServer\MSSQL1;" +``` + +接続文字列の作成時に、 の `SqlConnectionStringBuilder` プロパティをインスタンス名に設定することもできます。 オブジェクトの プロパティは読み取り専用です。 + +### Type System Version の変更 + `Type System Version` の キーワードは、クライアント側での [!INCLUDE[ssNoVersion](../../../../includes/ssnoversion-md.md)] 型の表現を指定します。 キーワードの詳細については、`Type System Version` のトピックを参照してください。 + +## SQL Server Express ユーザー インスタンスへの接続とアタッチ + ユーザー インスタンスは、SQL Server Express の機能の 1 つです。 最小限の特権しか持たないローカル Windows アカウントで実行しているユーザーが、SQL Server データベースにアタッチできます。この場合、管理特権は不要です。 ユーザー インスタンスは、サービスとしてではなく、ユーザーの Windows 資格情報で実行されます。 + + ユーザー インスタンスの操作の詳細については、次を参照してください。 [SQL Server Express ユーザー インスタンス](../../../../docs/framework/data/adonet/sql/sql-server-express-user-instances.md)です。 + +## TrustServerCertificate の使用 + `TrustServerCertificate` キーワードは、有効な証明書を使用して [!INCLUDE[ssNoVersion](../../../../includes/ssnoversion-md.md)] インスタンスに接続する場合にのみ使用できます。 `TrustServerCertificate` を `true` に設定した場合、トランスポート層に SSL が使用されてチャネルが暗号化されます。また、証明書チェーンをたどることによる信頼性の検証は省略されます。 + +``` +"TrustServerCertificate=true;" +``` + +> [!NOTE] +> `TrustServerCertificate` を `true` に設定して暗号化を有効にした場合、接続文字列で `Encrypt` を `false` に設定したとしても、サーバーで指定された暗号化レベルが使用されます。 それ以外の場合、接続は失敗します。 + +### 暗号化の有効化 + サーバーで、証明書がプロビジョニングされていない場合は、暗号化を有効にする、 **Force Protocol Encryption**と**Trust Server Certificate**オプションは、SQL Server 構成マネージャーで設定する必要があります。 このように、検証可能なサーバー証明書がプロビジョニングされていない場合、暗号化には検証を伴わない自己署名入りのサーバー証明書が使用されます。 + + SQL Server で構成されたセキュリティのレベルを、アプリケーションの設定によって緩和することはできません。ただし、必要に応じて厳密にすることはできます。 アプリケーションが要求する暗号化を設定して、`TrustServerCertificate`と`Encrypt`キーワード`true`、確実に暗号化行われるサーバーの証明書がプロビジョニングされていない場合でもと**プロトコルの暗号化**クライアントが構成されていません。 ただし、クライアントの構成で `TrustServerCertificate` を有効にしなかった場合は、プロビジョニングされたサーバー証明書が必要です。 + + 次の表ですべてのケースを説明します。 + +|[プロトコルの暗号化を設定する] クライアント設定|[サーバー証明書を信頼する] クライアント設定|Encrypt/Use Encryption for Data 接続文字列/属性|Trust Server Certificate 接続文字列/属性|結果| +|----------------------------------------------|---------------------------------------------|-------------------------------------------------------------------|-----------------------------------------------------------|------------| +|X|N/A|無効 (既定値)|無視|暗号化は行われません。| +|X|N/A|はい|無効 (既定値)|暗号化は、検証可能なサーバー証明書が提供されている場合にのみ行われます。それ以外の場合は、接続試行が失敗します。| +|X|N/A|はい|はい|暗号化は、検証可能なサーバー証明書が提供されている場合にのみ行われます。それ以外の場合は、接続試行が失敗します。| +|はい|X|無視|無視|暗号化は、検証可能なサーバー証明書が提供されている場合にのみ行われます。それ以外の場合は、接続試行が失敗します。| +|はい|はい|無効 (既定値)|無視|暗号化は、検証可能なサーバー証明書が提供されている場合にのみ行われます。それ以外の場合は、接続試行が失敗します。| +|はい|はい|はい|無効 (既定値)|暗号化は、検証可能なサーバー証明書が提供されている場合にのみ行われます。それ以外の場合は、接続試行が失敗します。| +|はい|はい|はい|はい|暗号化は、検証可能なサーバー証明書が提供されている場合にのみ行われます。それ以外の場合は、接続試行が失敗します。| + + 詳細については、次を参照してください。[を使用して検証を伴わない暗号化](http://go.microsoft.com/fwlink/?LinkId=120500)SQL Server オンライン ブック。 + +## OleDb 接続文字列 + プロパティを使用すると、Microsoft Access などの OLE DB データ ソースの接続文字列を取得または設定することができます。 `OleDb` クラスを使用して、実行時に 接続文字列を作成することもできます。 + +### OleDb 接続文字列の構文 + 接続文字列では、プロバイダー名を指定する必要があります。 次の接続文字列は、Jet プロバイダーを使用して Microsoft Access データベースに接続します。 `UserID` および `Password` キーワードは、データベースがセキュリティ保護されていない場合は省略できます (既定)。 + +``` +Provider=Microsoft.Jet.OLEDB.4.0; Data Source=d:\Northwind.mdb;User ID=Admin;Password=; +``` + + ユーザー レベルのセキュリティを使用して Jet データベースがセキュリティ保護されている場合は、ワークグループ情報ファイル (.mdw) の場所を指定する必要があります。 ワークグループ情報ファイルを使用して接続文字列に表示された資格情報を検証します。 + +``` +Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\Northwind.mdb;Jet OLEDB:System Database=d:\NorthwindSystem.mdw;User ID=*****;Password=*****; +``` + +> [!IMPORTANT] +> 接続情報を指定することは、 **OleDbConnection** Universal Data Link (UDL) ファイルです。 ただししないでそうです。 UDL ファイルは暗号化されないため、接続文字列をテキスト形式で表現してしまいます。 UDL ファイルは、アプリケーションにとって外部ファイルをベースにしたリソースであるため、.NET Framework でセキュリティ保護できません。 UDL ファイルはサポートされていません**SqlClient**です。 + +### DataDirectory を使用した Access/Jet との接続 + `DataDirectory` の使用は `SqlClient` に限定されません。 および .NET データ プロバイダーでも使用できます。 アプリケーションの app_data フォルダーに格納された Northwind.mdb に接続するための 文字列の構文を次の例に示します。 この場所には、システム データベース (System.mdw) も格納されています。 + +``` +"Provider=Microsoft.Jet.OLEDB.4.0; +Data Source=|DataDirectory|\Northwind.mdb; +Jet OLEDB:System Database=|DataDirectory|\System.mdw;" +``` + +> [!IMPORTANT] +> Access/Jet データベースをセキュリティで保護しない場合は、接続文字列にシステム データベースの場所を指定する必要はありません。 既定では、セキュリティが無効になります。すべてのユーザーが、空のパスワードで組み込みの Admin ユーザーとして接続することになります。 ユーザー レベルのセキュリティを正しく実装したとしても、Jet データベースは攻撃に対して無防備です。 ファイル ベースのセキュリティでは克服できない限界があるため、Access/Jet データベースに機密情報を格納することはお勧めできません。 + +### Excel への接続 + Excel ワークブックへの接続には、Microsoft Jet プロバイダーが使用されます。 次の接続文字列では、`Extended Properties` キーワードは Excel に固有のプロパティを設定しています。 「HDR=Yes;」は最初の列にデータではなく行の名前が含まれていることを示し、「IMEX=1;」は "intermixed" データ行を常にテキストとして読み取ることをドライバーに指示しています。 + +``` +Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\MyExcel.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"" +``` + + `Extended Properties` を二重引用符で囲む必要があることに注意してください。 + +### Data Shape プロバイダーの接続文字列の構文 + Microsoft Data Shape プロバイダーを使用するときは、`Provider` および `Data Provider` キーワードを両方使用してください。 Shape プロバイダーを使用して SQL Server のローカル インスタンスに接続する例を次に示します。 + +``` +"Provider=MSDataShape;Data Provider=SQLOLEDB;Data Source=(local);Initial Catalog=pubs;Integrated Security=SSPI;" +``` + +## Odbc 接続文字列 + プロパティを使用すると、OLE DB データベースで接続文字列を取得または設定することができます。 は、Odbc の接続文字列もサポートしています。 + + 次の接続文字列では、Microsoft Text Driver を使用しています。 + +``` +Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=d:\bin +``` + +### DataDirectory を使用した Visual FoxPro との接続 + 次の 接続文字列は、`DataDirectory` を使用して Microsoft Visual FoxPro ファイルに接続する例を示しています。 + +``` +"Driver={Microsoft Visual FoxPro Driver}; +SourceDB=|DataDirectory|\MyData.DBC;SourceType=DBC;" +``` + +## Oracle 接続文字列 + プロパティを使用すると、OLE DB データベースで接続文字列を取得または設定することができます。 は、Oracle の接続文字列もサポートしています。 + +``` +Data Source=Oracle9i;User ID=*****;Password=*****; +``` + + ODBC 接続文字列の構文の詳細については、「」を参照してください。 + +## 関連項目 + [接続文字列](../../../../docs/framework/data/adonet/connection-strings.md) + [データ ソースへの接続](../../../../docs/framework/data/adonet/connecting-to-a-data-source.md) + [ADO.NET のマネージ プロバイダーと DataSet デベロッパー センター](http://go.microsoft.com/fwlink/?LinkId=217917)