対象者:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
アナリティクスプラットフォームシステム(PDW)
Microsoft FabricにおけるSQLデータベース
OLE DB Driver for SQL Server の一部の API では、接続文字列を使用して接続属性を指定します。 接続文字列はキーワードとそれに関連する値のリストです。各キーワードで特定の接続属性を識別します。
注意
OLE DB Driver for SQL Server を使用すると、接続文字列のあいまいさが下位互換性を維持できます (たとえば、一部のキーワードは複数回指定でき、競合するキーワードは位置や優先順位に基づいて解決できます)。 OLE DB Driver for SQL Server の今後のリリースでは、接続文字列のあいまいさが許容されなくなる可能性があります。 OLE DB Driver for SQL Server を使用するアプリケーションでは、あいまいな接続文字列を利用しないように変更することをお勧めします。
次のセクションでは、OLE DB Driver for SQL Server をデータ プロバイダーとして使用するときに、OLE DB Driver for SQL Server および ADO (ActiveX Data Objects) と共に使用できるキーワードについて説明します。
OLE DB Driver の接続文字列キーワード
OLE DB アプリケーションでデータ ソース オブジェクトを初期化する方法は 2 つあります。
IDBInitialize::InitializeIDataInitialize::GetDataSource
最初のケースでは、プロバイダー文字列を使用して、DBPROP_INIT_PROVIDERSTRING プロパティ セットでプロパティ DBPROPSET_DBINITを設定することで、接続プロパティを初期化できます。 2 番目のケースでは、初期化文字列を IDataInitialize::GetDataSource メソッドに渡して接続プロパティを初期化できます。 いずれの方法でも同一の OLE DB 接続プロパティが初期化されますが、使用されるキーワードのセットは異なります。
IDataInitialize::GetDataSourceで使用されるキーワードのセットは、少なくとも初期化プロパティ グループ内のプロパティの説明です。
対応する OLE DB プロパティを持つプロバイダー文字列の設定は一部の既定値に設定されるか、値に明示的に設定され、OLE DB プロパティ値はプロバイダー文字列の設定をオーバーライドします。
DBPROP_INIT_PROVIDERSTRING値を使用してプロバイダー文字列に設定されたブール型プロパティは、yes値とno値を使用して設定されます。
IDataInitialize::GetDataSourceを使用して初期化文字列に設定されたブール型プロパティは、true値とfalse値を使用して設定されます。
IDataInitialize::GetDataSourceを使用するアプリケーションでは、IDBInitialize::Initializeで使用されるキーワードを使用することもできますが、既定値を持たないプロパティに対してのみ使用できます。 アプリケーションが初期化文字列で IDataInitialize::GetDataSource キーワードと IDBInitialize::Initialize キーワードの両方を使用する場合は、 IDataInitialize::GetDataSource キーワード設定が使用されます。 この動作は将来のリリースでは維持されない可能性があるため、アプリケーションではIDBInitialize::Initialize接続文字列でIDataInitialize:GetDataSourceキーワードを使用しないことをお勧めします。
注意
IDataInitialize::GetDataSourceを介して渡される接続文字列はプロパティに変換され、IDBProperties::SetProperties経由で適用されます。 コンポーネント サービスが IDBProperties::GetPropertyInfoでプロパティの説明を見つけた場合、このプロパティはスタンドアロン プロパティとして適用されます。 それ以外の場合は、 DBPROP_PROVIDERSTRING プロパティを通じて適用されます。 たとえば、接続文字列 Data Source=server1;Server=server2を指定した場合、 Data Source はプロパティとして設定されますが、 Server はプロバイダー文字列に入ります。
同じプロバイダー固有のプロパティのインスタンスを複数指定した場合、最初のプロパティの最初の値が使用されます。
IDBInitialize::Initialize の使用
DBPROP_INIT_PROVIDERSTRINGでIDBInitialize::Initializeを使用する OLE DB アプリケーションで使用される接続文字列には、次の構文があります。
connection-string ::= empty-string[;] | attribute[;] | attribute; connection-stringempty-string ::=attribute ::= attribute-keyword=[{]attribute-value[}]attribute-value ::= character-stringattribute-keyword ::= identifier
属性値は必要に応じて中かっこで囲むことができます。常に中かっこを使用すると、 これにより、属性値に英数字以外の文字が含まれる場合の問題を回避できます。 最初の右中かっこが値の終わりと見なされるため、値に右中かっこを含めることはできません。
接続文字列キーワードの = 記号の後のスペース文字は、値を引用符で囲んだ場合でも、リテラルとして解釈されます。
次の表では、 DBPROP_INIT_PROVIDERSTRINGで使用できるキーワードについて説明します。
| Keyword | 初期化プロパティ | 説明 |
|---|---|---|
Addr |
SSPROP_INIT_NETWORKADDRESS |
Addressのシノニム。 |
Address |
SSPROP_INIT_NETWORKADDRESS |
SQL Server のインスタンスを実行しているサーバーのネットワーク アドレス。
Address は通常、サーバーのネットワーク名ですが、パイプ、IP アドレス、TCP/IP ポート、ソケット アドレスなどの他の名前を指定できます。IP アドレスを指定する場合は、SQL Server 構成マネージャーで TCP/IP または名前付きパイプ プロトコルが有効になっていることを確認します。 OLE DB Driver for SQL Server を使用する場合、接続文字列の Addressに渡される値よりも、Serverの値が優先されます。
Address=; は Server キーワードで指定されたサーバーに接続しますが、 Address= ;, Address=.;、 Address=localhost;、 Address=(local); はすべてローカル サーバーに接続します。Address キーワードの完全な構文は次のとおりです。[protocol:]Address[,port|\pipe\pipename] protocol には、 tcp (TCP/IP)、lpc (共有メモリ)、または np (名前付きパイプ) を設定できます。 プロトコルの詳細については、「 クライアント プロトコルの構成」を参照してください。プロトコルも Network キーワードも指定されていない場合、OLE DB Driver for SQL Server では、SQL Server 構成マネージャーで指定されたプロトコルの順序が使用されます。port は、指定したサーバー上の接続先のポートです。 既定では、SQL Server はポート 1433を使用します。 |
APP |
SSPROP_INIT_APPNAME |
アプリケーションを識別する文字列。 |
ApplicationIntent |
SSPROP_INIT_APPLICATIONINTENT |
アプリケーションがサーバーに接続するときのワークロードのタイプを宣言します。 設定可能な値は ReadOnly および ReadWrite です。既定では、 ReadWriteです。 Always On 可用性グループ の OLE DB Driver for SQL Server によるサポートの詳細については、「OLE DB Driver for SQL Server の高可用性、ディザスター リカバリーに関するサポート」を参照してください。 |
AttachDBFileName |
SSPROP_INIT_FILENAME |
アタッチできるデータベースのプライマリ ファイルの名前 (完全なパス名を含む)。
AttachDBFileNameを使用するには、プロバイダー文字列 Database キーワードでデータベース名も指定する必要があります。 データベースが以前にアタッチされていた場合、SQL Server により再アタッチされることはありません (アタッチされているベースがその接続の既定のデータベースとして使用されます)。 |
Authentication
1 |
SSPROP_AUTH_MODE |
使用する SQL または Microsoft Entra 認証を指定します。 有効な値は次のとおりです。
注: ActiveDirectoryIntegrated キーワードは、SQL Server に対する Windows 認証にも使用できます。 これは、Integrated Security (または Trusted_Connection) 認証キーワードに代わるものです。
Integrated Security (またはTrusted_Connection) キーワードまたは対応するプロパティを使用するアプリケーションでは、新しい暗号化と証明書の検証動作を有効にするために、Authentication キーワード (またはその対応するプロパティ) の値をActiveDirectoryIntegratedに設定する必要があります。注: SQL Server 認証を使用するアプリケーションでは、 Authenticationを有効にするために、SqlPassword キーワード (またはその対応するプロパティ) の値をに設定する必要があります。 |
Auto Translate |
SSPROP_INIT_AUTOTRANSLATE |
AutoTranslateのシノニム。 |
AutoTranslate |
SSPROP_INIT_AUTOTRANSLATE |
OEM/ANSI 文字の変換を構成します。 認識される値は yes と no です。 |
ConnectRetryCount |
SSPROP_INIT_CONNECT_RETRY_COUNT |
接続が失われた場合の再接続試行回数を制御します。 有効な値の範囲は 0 から 255 です。 既定値は 1 です。
0値を指定すると、再接続は試行されません。 詳細については、「 OLE DB ドライバーのアイドル接続の回復性」を参照してください。 |
ConnectRetryInterval |
SSPROP_INIT_CONNECT_RETRY_INTERVAL |
接続が失われた場合の各接続再試行の間隔を秒数で指定します。 有効な値の範囲は 1 から 60 です。 既定値は 10 です。 詳細については、「 OLE DB ドライバーのアイドル接続の回復性」を参照してください。 |
Database |
DBPROP_INIT_CATALOG |
データベース名です。 |
DataTypeCompatibility |
SSPROP_INIT_DATATYPECOMPATIBILITY |
使用するデータ型処理モードを指定します。 認識される値は、プロバイダー データ型を示す 0 と SQL Server 2000 (8.x) データ型を示す 80 です。 |
Encrypt
1 |
SSPROP_INIT_ENCRYPT |
データをネットワークに送信する前に暗号化するかどうかを指定します。 指定できる値は、Optional、Mandatory、Strict です。 既定値は Mandatory です。 バージョン 18.x.x については、MSOLEDBSQL のメジャー バージョン間の違いに関するページを参照してください。 |
FailoverPartner |
SSPROP_INIT_FAILOVERPARTNER |
データベース ミラーリングに使用するフェールオーバー サーバーの名前。 |
FailoverPartnerSPN |
SSPROP_INIT_FAILOVERPARTNERSPN |
フェールオーバー パートナーの SPN。 既定値は空の文字列です。 空の文字列を使用すると、OLE DB Driver for SQL Server ではプロバイダーが生成した SPN が既定値として使用されます。 |
HostNameInCertificate |
SSPROP_INIT_HOST_NAME_CERTIFICATE |
SQL Server TLS/SSL 証明書の検証に使われるホスト名。
HostNameInCertificate キーワードが設定されていない場合、ドライバーは接続 URL の Server キーワード値をホスト名として使用して、SQL Server TLS/SSL 証明書を検証します。注: サーバー証明書が信頼されている場合、このプロパティは無視されます。 Encryptが Strict に設定されている場合、証明書は常に検証されます。 |
Language |
SSPROP_INIT_CURRENTLANGUAGE |
SQL Server 言語。 |
MarsConn |
SSPROP_INIT_MARSCONNECTION |
その接続で MARS (複数のアクティブな結果セット) を有効または無効にします (SQL Server 2005 (9.x) 以降のサーバーの場合)。 設定可能な値は yes および no です。 既定値は no です。 |
MultiSubnetFailover |
SSPROP_INIT_MULTISUBNETFAILOVER |
SQL Server 可用性グループまたは SQL Server フェールオーバー クラスター インスタンスの可用性グループ リスナーに接続する際には、必ず MultiSubnetFailover=Yes を指定してください。
MultiSubnetFailover=Yes は、OLE DB Driver for SQL Server を構成して、(現在) アクティブなサーバーの検出と接続を高速化します。 設定可能な値は Yes および No です。 既定では、 Noです。 次に例を示します。MultiSubnetFailover=YesAlways On 可用性グループ の OLE DB Driver for SQL Server によるサポートの詳細については、「OLE DB Driver for SQL Server の高可用性、ディザスター リカバリーに関するサポート」を参照してください。 |
Net |
SSPROP_INIT_NETWORKLIBRARY |
Networkのシノニム。 |
Network |
SSPROP_INIT_NETWORKLIBRARY |
組織内の SQL Server インスタンスへの接続を確立するために使用するネットワーク ライブラリ。 |
Network Library |
SSPROP_INIT_NETWORKLIBRARY |
Networkのシノニム。 |
PacketSize |
SSPROP_INIT_PACKETSIZE |
表形式データ ストリーム (TDS) パケット サイズ。 既定値は 0 です (実際の値はサーバーによって決定されます)。 |
PersistSensitive |
DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO |
文字列 yes と no を値として受け取ります。
no が使用される場合、データ ソース オブジェクトには機密の認証情報を保持できません |
PWD |
DBPROP_AUTH_PASSWORD |
SQL Server のログイン パスワード。 |
Server |
DBPROP_INIT_DATASOURCE |
SQL Server のインスタンスの名前。 ネットワーク上のサーバーの名前、IP アドレス、または SQL Server 構成マネージャーの別名を指定する必要があります。 指定されなかった場合は、ローカル コンピューター上にある既定のインスタンスに接続します。 Address キーワードは、Server キーワードをオーバーライドします。次のオプションのいずれかを指定することで、ローカル サーバー上の既定のインスタンスに接続できます。 Server=;Server=.;Server=(local);Server=(local);Server=(localhost);Server=(localdb)\<instancename>;LocalDB のサポートの詳細については、「LocalDB 用 OLE DB Driver for SQL Server のサポート」を参照してください。 SQL Server の名前付きインスタンスを指定するには、 \<InstanceName>追加します。サーバーを指定しなかった場合は、ローカル コンピューター上にある既定のインスタンスに接続されます。 IP アドレスを指定する場合は、SQL Server 構成マネージャーで TCP/IP または名前付きパイプ プロトコルが有効になっていることを確認します。 Server キーワードの完全な構文は次のとおりです。[protocol:]Server[,port] protocol には、 tcp (TCP/IP)、lpc (共有メモリ)、または np (名前付きパイプ) を設定できます。次の例では、名前付きパイプを指定します。 np:\\.\pipe\MSSQL$MYINST01\sql\query上の行では、名前付きパイプのプロトコル ( np)、ローカル コンピューター上の名前付きパイプ (\\.\pipe)、SQL Server インスタンスの名前 (MSSQL$MYINST01)、および名前付きパイプの既定の名前 (sql/query) を指定しています。プロトコルも Network キーワードも指定されていない場合、OLE DB Driver for SQL Server は SQL Server 構成マネージャーで指定されたプロトコルの順序を使用します。port は、指定したサーバー上の接続先のポートです。 既定では、SQL Server はポート 1433を使用します。OLE DB Driver for SQL Server を使用する場合、接続文字列の Server に渡される値の先頭でスペースは無視されます。 |
ServerCertificate |
SSPROP_INIT_SERVER_CERTIFICATE |
SQL Server の TLS/SSL 証明書と照合する証明書ファイルへのパスを指定します。 このオプションは、Strict 暗号化が有効になっている場合にのみ使用できます。 受け付けられる証明書の形式は PEM、DER、CER です。 指定した場合、SQL Server の証明書は、指定された証明書が完全に一致するかどうかを確認することでチェックされます。 |
ServerSPN |
SSPROP_INIT_SERVERSPN |
サーバーの SPN。 既定値は空の文字列です。 空の文字列を使用すると、OLE DB Driver for SQL Server ではプロバイダーが生成した SPN が既定値として使用されます。 |
Timeout |
DBPROP_INIT_TIMEOUT |
データ ソースの初期化が完了するのを待機する秒数。 |
TransparentNetworkIPResolution |
SSPROP_INIT_TNIR |
ホスト名の解決された最初の IP が応答せず、ホスト名に複数の IP が関連付けられている場合は、接続シーケンスに影響があります。 TNIR では、MultiSubnetFailover と連動して、さまざまな接続シーケンスが提供されます。 設定可能な値は Yes および No です。 既定値は Yes です。 詳しくは、「透過的なネットワーク IP の解決の使用」をご覧ください。 |
Trusted_Connection |
DBPROP_AUTH_INTEGRATED |
yes の場合、このオプションはログインの検証に Windows 認証を使用するよう OLE DB Driver for SQL Server に指示します。 それ以外の場合は、OLE DB Driver for SQL Server により、ログインの検証に SQL Server のユーザー名とパスワードが使用されるため、UID キーワードと PWD キーワードを指定する必要があります。 |
TrustServerCertificate
1 |
SSPROP_INIT_TRUST_SERVER_CERTIFICATE |
文字列 yes と no を値として受け取ります。 既定値は no です。これはサーバー証明書が検証されることを示します。 |
UID |
DBPROP_AUTH_USERID |
SQL Server のログイン名。 |
UseFMTONLY |
SSPROP_INIT_USEFMTONLY |
SQL Server 2012 (11.x) およびそれ以降に接続する場合のメタデータの取得方法を制御します。 設定可能な値は yes および no です。 既定値は no です。既定では、OLE DB Driver for SQL Server は sp_describe_first_result_set および sp_describe_undeclared_parameters ストアド プロシージャを使用して、メタデータを取得します。 これらのストアド プロシージャにはいくつかの制限があります (たとえば、一時テーブルで操作するとエラーが発生します)。 UseFMTONLYを yes に設定すると、代わりに SET FMTONLY を使用してメタデータを取得するようにドライバーに指示されます。 |
UseProcForPrepare |
SSPROP_INIT_USEPROCFORPREP |
OLE DB Driver for SQL Server では、このキーワードは非推奨とされ、その設定は無視されます。 |
WSID |
SSPROP_INIT_WSID |
ワークステーション ID。 |
1 セキュリティを向上させるために、認証またはアクセス トークンの初期化プロパティ、またはその対応する接続文字列キーワードを使用する場合、暗号化と証明書の検証動作が変更されます。 詳細については、「Encryption and certificate validation」 (暗号化と証明書の検証) を参照してください。
IDataInitialize::GetDataSource を使用する
IDataInitialize::GetDataSourceを使用して OLE DB アプリケーションで使用される接続文字列には、次の構文があります。
connection-string ::= empty-string[;] | attribute[;] | attribute; connection-stringempty-string ::=attribute ::= attribute-keyword=[quote]attribute-value[quote]attribute-value ::= character-stringattribute-keyword ::= identifierquote ::= " | '
プロパティの使用方法は、プロパティのスコープで許可される構文に従っている必要があります。 たとえば、 WSID は中かっこ ({}) 引用符を使用し、 Application Name では単一 (') または二重引用符 (") を使用します。 引用符で囲むことができるのは、文字列のプロパティのみです。 整数または列挙のプロパティを引用符で囲むと、Connection String doesn't conform to OLE DB specification エラーになります。
属性値は必要に応じて一重引用符または二重引用符で囲むことができます。常にこれらの引用符を使用すると、 これにより、値に英数字以外の文字が含まれる場合の問題を回避できます。 文字を引用符で囲む場合、二重引用符を使用すれば、値の中に含めることもできます。
接続文字列キーワードの等号 (=) の後のスペース文字は、値を引用符で囲んだ場合でも、リテラルとして解釈されます。
接続文字列に次の表のプロパティが複数含まれている場合は、最後のプロパティの値が使用されます。
次の表では、 IDataInitialize::GetDataSourceで使用できるキーワードについて説明します。
| Keyword | 初期化プロパティ | 説明 |
|---|---|---|
Access Token
1 |
SSPROP_AUTH_ACCESS_TOKEN |
Microsoft Entra ID に対する認証に使用されるアクセス トークン。 注: このキーワードを指定すると、 UID、PWD、Trusted_Connection、Authentication の接続文字列キーワードまたはその対応するプロパティ/キーワードと一緒に指定することはエラーになります。 |
Application Name |
SSPROP_INIT_APPNAME |
アプリケーションを識別する文字列。 |
Application Intent |
SSPROP_INIT_APPLICATIONINTENT |
アプリケーションがサーバーに接続するときのワークロードのタイプを宣言します。 設定可能な値は ReadOnly および ReadWrite です。既定では、 ReadWriteです。 Always On 可用性グループ の OLE DB Driver for SQL Server によるサポートの詳細については、「OLE DB Driver for SQL Server の高可用性、ディザスター リカバリーに関するサポート」を参照してください。 |
Authentication
1 |
SSPROP_AUTH_MODE |
使用する SQL または Microsoft Entra 認証を指定します。 有効な値は次のとおりです。
注: ActiveDirectoryIntegrated キーワードは、SQL Server に対する Windows 認証にも使用できます。 これは、Integrated Security (または Trusted_Connection) 認証キーワードに代わるものです。
Integrated Security (またはTrusted_Connection) キーワードまたは対応するプロパティを使用するアプリケーションでは、新しい暗号化と証明書の検証動作を有効にするために、Authentication キーワード (またはその対応するプロパティ) の値をActiveDirectoryIntegratedに設定する必要があります。注: SQL Server 認証を使用するアプリケーションでは、 Authenticationを有効にするために、SqlPassword キーワード (またはその対応するプロパティ) の値をに設定する必要があります。 |
Auto Translate |
SSPROP_INIT_AUTOTRANSLATE |
OEM/ANSI 文字の変換を構成します。 認識される値は true と false です。 |
Connect Timeout |
DBPROP_INIT_TIMEOUT |
データ ソースの初期化が完了するのを待機する秒数。 |
Connect Retry Count |
SSPROP_INIT_CONNECT_RETRY_COUNT |
接続が失われた場合の再接続試行回数を制御します。 有効な値の範囲は 0 から 255 です。 既定値は 1 です。
0値を指定すると、再接続は試行されません。 詳細については、「 OLE DB ドライバーのアイドル接続の回復性」を参照してください。 |
Connect Retry Interval |
SSPROP_INIT_CONNECT_RETRY_INTERVAL |
接続が失われた場合の各接続再試行の間隔を秒数で指定します。 有効な値の範囲は 1 から 60 です。 既定値は 10 です。 詳細については、「 OLE DB ドライバーのアイドル接続の回復性」を参照してください。 |
Current Language |
SSPROPT_INIT_CURRENTLANGUAGE |
SQL Server 言語の名前。 |
Data Source |
DBPROP_INIT_DATASOURCE |
組織内の SQL Server インスタンスの名前。 指定されなかった場合は、ローカル コンピューター上にある既定のインスタンスに接続します。 有効なアドレス構文の詳細については、この記事の Server キーワードの説明を参照してください。 |
DataTypeCompatibility |
SSPROP_INIT_DATATYPECOMPATIBILITY |
使用するデータ型処理モードを指定します。 認識される値は、プロバイダー データ型を示す 0 と SQL Server 2000 (8.x) データ型を示す 80 です。 |
Failover Partner |
SSPROP_INIT_FAILOVERPARTNER |
データベース ミラーリングに使用するフェールオーバー サーバーの名前。 |
Failover Partner SPN |
SSPROP_INIT_FAILOVERPARTNERSPN |
フェールオーバー パートナーの SPN。 既定値は空の文字列です。 空の文字列を使用すると、OLE DB Driver for SQL Server ではプロバイダーが生成した SPN が既定値として使用されます。 |
Host Name In Certificate |
SSPROP_INIT_HOST_NAME_CERTIFICATE |
SQL Server TLS/SSL 証明書の検証に使われるホスト名。
Host Name In Certificate キーワードが設定されていない場合、ドライバーは接続 URL の Data Source キーワード値をホスト名として使用して、SQL Server TLS/SSL 証明書を検証します。注: サーバー証明書が信頼されている場合、このプロパティは無視されます。 Use Encryption for Dataが Strict に設定されている場合、証明書は常に検証されます。 |
Initial Catalog |
DBPROP_INIT_CATALOG |
データベース名です。 |
Initial File Name |
SSPROP_INIT_FILENAME |
アタッチできるデータベースのプライマリ ファイルの名前 (完全なパス名を含む)。
AttachDBFileNameを使用するには、プロバイダー文字列DATABASEキーワードを使用してデータベース名を指定する必要もあります。 データベースが以前にアタッチされていた場合、SQL Server により再アタッチされることはありません (アタッチされているベースがその接続の既定のデータベースとして使用されます)。 |
Integrated Security |
DBPROP_AUTH_INTEGRATED |
Windows 認証の値 SSPI を受け取ります。 |
MARS Connection |
SSPROP_INIT_MARSCONNECTION |
その接続で MARS (複数のアクティブな結果セット) を有効または無効にします。 認識される値は true と false です。 既定では、 falseです。 |
MultiSubnetFailover |
SSPROP_INIT_MULTISUBNETFAILOVER |
SQL Server 可用性グループまたは SQL Server フェールオーバー クラスター インスタンスの可用性グループ リスナーに接続する際には、必ず MultiSubnetFailover=True を指定してください。
MultiSubnetFailover=True は、OLE DB Driver for SQL Server を構成して、(現在) アクティブなサーバーの検出と接続を高速化します。 設定可能な値は True および False です。 既定では、 Falseです。 次に例を示します。MultiSubnetFailover=TrueAlways On 可用性グループ の OLE DB Driver for SQL Server によるサポートの詳細については、「OLE DB Driver for SQL Server の高可用性、ディザスター リカバリーに関するサポート」を参照してください。 |
Network Address |
SSPROP_INIT_NETWORKADDRESS |
組織内の SQL Server インスタンスのネットワーク アドレス。 有効なアドレス構文の詳細については、この記事の Address キーワードの説明を参照してください。 |
Network Library |
SSPROP_INIT_NETWORKLIBRARY |
組織内の SQL Server インスタンスへの接続を確立するために使用するネットワーク ライブラリ。 |
Packet Size |
SSPROP_INIT_PACKETSIZE |
表形式データ ストリーム (TDS) パケット サイズ。 既定値は 0 です (実際の値はサーバーによって決定されます)。 |
Password |
DBPROP_AUTH_PASSWORD |
SQL Server のログイン パスワード。 |
Persist Security Info |
DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO |
文字列 true と false を値として受け取ります。
false の場合、データ ソース オブジェクトには機密の認証情報を保持できません |
Provider |
OLE DB Driver for SQL Server の場合、値は MSOLEDBSQL19 または MSOLEDBSQL です。 |
|
Server Certificate |
SSPROP_INIT_SERVER_CERTIFICATE |
SQL Server の TLS/SSL 証明書と照合する証明書ファイルへのパスを指定します。 このオプションは、Strict 暗号化が有効になっている場合にのみ使用できます。 受け付けられる証明書の形式は PEM、DER、CER です。 指定した場合、SQL Server の証明書は、指定された証明書が完全に一致するかどうかを確認することでチェックされます。 |
Server SPN |
SSPROP_INIT_SERVERSPN |
サーバーの SPN。 既定値は空の文字列です。 空の文字列を使用すると、OLE DB Driver for SQL Server ではプロバイダーが生成した SPN が既定値として使用されます。 |
TransparentNetworkIPResolution |
SSPROP_INIT_TNIR |
ホスト名の解決された最初の IP が応答せず、ホスト名に複数の IP が関連付けられている場合は、接続シーケンスに影響があります。 TNIR では、MultiSubnetFailover と連動して、さまざまな接続シーケンスが提供されます。 設定可能な値は True および False です。 既定値は True です。 詳しくは、「透過的なネットワーク IP の解決の使用」をご覧ください。 |
Trust Server Certificate
1 |
SSPROP_INIT_TRUST_SERVER_CERTIFICATE |
文字列 true と false を値として受け取ります。 既定値は false です。これはサーバー証明書が検証されることを示します。 |
Use Encryption for Data
1 |
SSPROP_INIT_ENCRYPT |
データをネットワークに送信する前に暗号化するかどうかを指定します。 指定できる値は、Optional、Mandatory、Strict です。 既定値は Mandatory です。 バージョン 18.x.x については、MSOLEDBSQL のメジャー バージョン間の違いに関するページを参照してください。 |
Use FMTONLY |
SSPROP_INIT_USEFMTONLY |
SQL Server 2012 (11.x) およびそれ以降に接続する場合のメタデータの取得方法を制御します。 設定可能な値は true および false です。 既定値は false です。既定では、OLE DB Driver for SQL Server は sp_describe_first_result_set および sp_describe_undeclared_parameters ストアド プロシージャを使用して、メタデータを取得します。 これらのストアド プロシージャにはいくつかの制限があります (たとえば、一時テーブルで操作するとエラーが発生します)。 Use FMTONLYを true に設定すると、代わりに SET FMTONLY を使用してメタデータを取得するようにドライバーに指示されます。 |
User ID |
DBPROP_AUTH_USERID |
SQL Server のログイン名。 |
Workstation ID |
SSPROP_INIT_WSID |
ワークステーション ID。 |
1 セキュリティを向上させるために、認証/アクセス トークンの初期化プロパティまたは対応する接続文字列キーワードを使用する場合、暗号化と証明書の検証動作が変更されます。 詳細については、「暗号化と証明書の検証」を参照してください。
注意
接続文字列では、 Old Password プロパティは SSPROP_AUTH_OLD_PASSWORDを設定します。これは、プロバイダー文字列プロパティを介して使用できない現在の (期限切れの可能性がある) パスワードです。
ActiveX Data Objects (ADO) 接続文字列キーワード
ADO アプリケーションでは、ConnectionString オブジェクトのADODBConnectionプロパティを設定するか、接続文字列をパラメーターとしてOpen オブジェクトのADODBConnection メソッドに指定します。
ADO アプリケーションでは、OLE DB IDBInitialize::Initialize メソッドで使用されるキーワードを使用することもできますが、既定値のないプロパティに対してのみ使用できます。 アプリケーションが初期化文字列で ADO キーワードと IDBInitialize::Initialize キーワードの両方を使用する場合は、ADO キーワード設定が使用されます。 アプリケーションでは ADO 接続文字列キーワードのみを使用することをお勧めします。
ADO で使用される接続文字列の構文を次に示します。
connection-string ::= empty-string[;] | attribute[;] | attribute; connection-stringempty-string ::=attribute ::= attribute-keyword=["]attribute-value["]attribute-value ::= character-stringattribute-keyword ::= identifier
属性値は必要に応じて二重引用符で囲むことができ、そうするのがよい方法です。 これにより、値に英数字以外の文字が含まれる場合の問題を回避できます。 属性値に二重引用符を含めることはできません。
次の表では、ADO 接続文字列で使用できるキーワードについて説明します。
| Keyword | 初期化プロパティ | 説明 |
|---|---|---|
Access Token
1 |
SSPROP_AUTH_ACCESS_TOKEN |
Microsoft Entra ID に対する認証に使用されるアクセス トークン。 注: このキーワードを指定すると、 UID、PWD、Trusted_Connection、またはAuthentication接続文字列キーワードやその対応するプロパティ/キーワードを同時に指定することはエラーとなります。 |
Application Intent |
SSPROP_INIT_APPLICATIONINTENT |
アプリケーションがサーバーに接続するときのワークロードのタイプを宣言します。 設定可能な値は ReadOnly および ReadWrite です。既定では、 ReadWriteです。 Always On 可用性グループ の OLE DB Driver for SQL Server によるサポートの詳細については、「OLE DB Driver for SQL Server の高可用性、ディザスター リカバリーに関するサポート」を参照してください。 |
Application Name |
SSPROP_INIT_APPNAME |
アプリケーションを識別する文字列。 |
Authentication
1 |
SSPROP_AUTH_MODE |
使用する SQL または Microsoft Entra 認証を指定します。 有効な値は次のとおりです。
注: ActiveDirectoryIntegrated キーワードは、SQL Server に対する Windows 認証にも使用できます。 これは、Integrated Security (または Trusted_Connection) 認証キーワードに代わるものです。
Integrated Security (またはTrusted_Connection) キーワードまたは対応するプロパティを使用するアプリケーションでは、新しい暗号化と証明書の検証動作を有効にするために、Authentication キーワード (またはその対応するプロパティ) の値をActiveDirectoryIntegratedに設定する必要があります。注: SQL Server 認証を使用するアプリケーションでは、 Authenticationを有効にするために、SqlPassword キーワード (またはその対応するプロパティ) の値をに設定する必要があります。 |
Auto Translate |
SSPROP_INIT_AUTOTRANSLATE |
OEM/ANSI 文字の変換を構成します。 認識される値は true と false です。 |
Connect Timeout |
DBPROP_INIT_TIMEOUT |
データ ソースの初期化が完了するのを待機する秒数。 |
Connect Retry Count |
SSPROP_INIT_CONNECT_RETRY_COUNT |
接続が失われた場合の再接続試行回数を制御します。 有効な値の範囲は 0 から 255 です。 既定値は 1 です。
0値を指定すると、再接続は試行されません。 詳細については、「 OLE DB ドライバーのアイドル接続の回復性」を参照してください。 |
Connect Retry Interval |
SSPROP_INIT_CONNECT_RETRY_INTERVAL |
接続が失われた場合の各接続再試行の間隔を秒数で指定します。 有効な値の範囲は 1 から 60 です。 既定値は 10 です。 詳細については、「 OLE DB ドライバーのアイドル接続の回復性」を参照してください。 |
Current Language |
SSPROPT_INIT_CURRENTLANGUAGE |
SQL Server 言語の名前。 |
Data Source |
DBPROP_INIT_DATASOURCE |
組織内の SQL Server インスタンスの名前。 指定されなかった場合は、ローカル コンピューター上にある既定のインスタンスに接続します。 有効なアドレス構文の詳細については、この記事の Server キーワードの説明を参照してください。 |
DataTypeCompatibility |
SSPROP_INIT_DATATYPECOMPATIBILITY |
使用するデータ型処理モードを指定します。 認識される値は、プロバイダー データ型を示す 0 と SQL Server 2000 (8.x) データ型を示す 80 です。 |
Failover Partner |
SSPROP_INIT_FAILOVERPARTNER |
データベース ミラーリングに使用するフェールオーバー サーバーの名前。 |
Failover Partner SPN |
SSPROP_INIT_FAILOVERPARTNERSPN |
フェールオーバー パートナーの SPN。 既定値は空の文字列です。 空の文字列を使用すると、OLE DB Driver for SQL Server ではプロバイダーが生成した SPN が既定値として使用されます。 |
Host Name In Certificate |
SSPROP_INIT_HOST_NAME_CERTIFICATE |
SQL Server TLS/SSL 証明書の検証に使われるホスト名。
Host Name In Certificate キーワードが設定されていない場合、ドライバーは接続 URL の Data Source キーワード値をホスト名として使用して、SQL Server TLS/SSL 証明書を検証します。注: サーバー証明書が信頼されている場合、このプロパティは無視されます。 Use Encryption for Dataが Strict に設定されている場合、証明書は常に検証されます。 |
Initial Catalog |
DBPROP_INIT_CATALOG |
データベース名です。 |
Initial File Name |
SSPROP_INIT_FILENAME |
アタッチできるデータベースのプライマリ ファイルの名前 (完全なパス名を含む)。
AttachDBFileNameを使用するには、プロバイダー文字列DATABASEキーワードを使用してデータベース名を指定する必要もあります。 データベースが以前にアタッチされていた場合、SQL Server により再アタッチされることはありません (アタッチされているベースがその接続の既定のデータベースとして使用されます)。 |
Integrated Security |
DBPROP_AUTH_INTEGRATED |
Windows 認証の値 SSPI を受け取ります。 |
MARS Connection |
SSPROP_INIT_MARSCONNECTION |
その接続で MARS (複数のアクティブな結果セット) を有効または無効にします (SQL Server 2005 (9.x) 以降のサーバーの場合)。 認識される値は true と false です。 既定では、 falseです。 |
MultiSubnetFailover |
SSPROP_INIT_MULTISUBNETFAILOVER |
SQL Server 可用性グループまたは SQL Server フェールオーバー クラスター インスタンスの可用性グループ リスナーに接続する際には、必ず MultiSubnetFailover=True を指定してください。
MultiSubnetFailover=True は、OLE DB Driver for SQL Server を構成して、(現在) アクティブなサーバーの検出と接続を高速化します。 設定可能な値は True および False です。 既定では、 Falseです。 次に例を示します。MultiSubnetFailover=TrueAlways On 可用性グループ の OLE DB Driver for SQL Server によるサポートの詳細については、「OLE DB Driver for SQL Server の高可用性、ディザスター リカバリーに関するサポート」を参照してください。 |
Network Address |
SSPROP_INIT_NETWORKADDRESS |
組織内の SQL Server インスタンスのネットワーク アドレス。 有効なアドレス構文の詳細については、この記事の Address キーワードの説明を参照してください。 |
Network Library |
SSPROP_INIT_NETWORKLIBRARY |
組織内の SQL Server インスタンスへの接続を確立するために使用するネットワーク ライブラリ。 |
Packet Size |
SSPROP_INIT_PACKETSIZE |
表形式データ ストリーム (TDS) パケット サイズ。 既定値は 0 です (実際の値はサーバーによって決定されます)。 |
Password |
DBPROP_AUTH_PASSWORD |
SQL Server のログイン パスワード。 |
Persist Security Info |
DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO |
文字列 true と false を値として受け取ります。
false の場合、データ ソース オブジェクトには機密の認証情報を保持できません。 |
Provider |
OLE DB Driver for SQL Server の場合、値は MSOLEDBSQL19 または MSOLEDBSQL です。 |
|
Server Certificate |
SSPROP_INIT_SERVER_CERTIFICATE |
SQL Server の TLS/SSL 証明書と照合する証明書ファイルへのパスを指定します。 このオプションは、Strict 暗号化が有効になっている場合にのみ使用できます。 受け付けられる証明書の形式は PEM、DER、CER です。 指定した場合、SQL Server の証明書は、指定された証明書が完全に一致するかどうかを確認することでチェックされます。 |
Server SPN |
SSPROP_INIT_SERVERSPN |
サーバーの SPN。 既定値は空の文字列です。 空の文字列を使用すると、OLE DB Driver for SQL Server ではプロバイダーが生成した SPN が既定値として使用されます。 |
TransparentNetworkIPResolution |
SSPROP_INIT_TNIR |
ホスト名の解決された最初の IP が応答せず、ホスト名に複数の IP が関連付けられている場合は、接続シーケンスに影響があります。 TNIR では、MultiSubnetFailover と連動して、さまざまな接続シーケンスが提供されます。 設定可能な値は True および False です。 既定値は True です。 詳しくは、「透過的なネットワーク IP の解決の使用」をご覧ください。 |
Trust Server Certificate
1 |
SSPROP_INIT_TRUST_SERVER_CERTIFICATE |
文字列 true と false を値として受け取ります。 既定値は false です。これはサーバー証明書が検証されることを示します。 |
Use Encryption for Data
1 |
SSPROP_INIT_ENCRYPT |
データをネットワークに送信する前に暗号化するかどうかを指定します。 指定できる値は、Optional、Mandatory、Strict です。 既定値は Mandatory です。 バージョン 18.x.x については、MSOLEDBSQL のメジャー バージョン間の違いに関するページを参照してください。 |
Use FMTONLY |
SSPROP_INIT_USEFMTONLY |
SQL Server 2012 (11.x) およびそれ以降に接続する場合のメタデータの取得方法を制御します。 設定可能な値は true および false です。 既定値は false です。既定では、OLE DB Driver for SQL Server は sp_describe_first_result_set および sp_describe_undeclared_parameters ストアド プロシージャを使用して、メタデータを取得します。 これらのストアド プロシージャにはいくつかの制限があります (たとえば、一時テーブルで操作するとエラーが発生します)。 Use FMTONLYを true に設定すると、代わりに SET FMTONLY を使用してメタデータを取得するようにドライバーに指示されます。 |
User ID |
DBPROP_AUTH_USERID |
SQL Server のログイン名。 |
Workstation ID |
SSPROP_INIT_WSID |
ワークステーション ID。 |
1 セキュリティを向上させるために、認証/アクセス トークンの初期化プロパティまたは対応する接続文字列キーワードを使用する場合、暗号化と証明書の検証動作が変更されます。 詳細については、「暗号化と証明書の検証」を参照してください。
注意
接続文字列では、"Old Password" プロパティによって SSPROP_AUTH_OLD_PASSWORDが設定されます。これは、プロバイダー文字列プロパティを介して使用できない現在の (期限切れの可能性がある) パスワードです。