OLE DB Driver for SQL Server での接続文字列キーワードの使用
適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
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::Initialize
IDataInitialize::GetDataSource
最初の方法では、DBPROPSET_DBINIT プロパティ セットのプロパティ DBPROP_INIT_PROVIDERSTRING を設定することにより、プロバイダー文字列で接続プロパティを初期化できます。 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 キーワードの設定が利用されます。 この動作は今後のリリースで維持されない可能性があるため、IDataInitialize:GetDataSource 接続文字列に IDBInitialize::Initialize キーワードを使用しないことをお勧めします。
Note
IDataInitialize::GetDataSource を介して渡される接続文字列は、プロパティに変換され、IDBProperties::SetProperties で適用されます。 コンポーネント サービスによって IDBProperties::GetPropertyInfo でプロパティ説明が検出された場合、このプロパティはスタンドアロンのプロパティとして適用されます。 それ以外の場合は、DBPROP_PROVIDERSTRING プロパティを介して適用されます。 たとえば、接続文字列 Data Source=server1;Server=server2 を指定する場合、Data Source はプロパティとして設定されますが、Server はプロバイダー文字列になります。
同じプロバイダー固有のプロパティのインスタンスを複数指定した場合、最初のプロパティの最初の値が使用されます。
Using IDBInitialize::Initialize
IDBInitialize::Initialize と共に DBPROP_INIT_PROVIDERSTRING を利用する OLE DB アプリケーションで使用される接続文字列の構文は次のとおりです。
connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string
empty-string ::=
attribute ::= attribute-keyword=[{]attribute-value[}]
attribute-value ::= character-string
attribute-keyword ::= identifier
属性値は必要に応じて中かっこで囲むことができます。常に中かっこを使用すると、 これにより、属性値に英数字以外の文字が含まれる場合の問題を回避できます。 最初の右中かっこが値の終わりと見なされるため、値に右中かっこを含めることはできません。
接続文字列キーワードの =
記号の後のスペース文字は、値を引用符で囲んだ場合でも、リテラルとして解釈されます。
次の表に、DBPROP_INIT_PROVIDERSTRING と共に使用できるキーワードを示します。
Keyword | 初期化プロパティ | 説明 |
---|---|---|
Addr | SSPROP_INIT_NETWORKADDRESS | 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 (名前付きパイプ) を指定できます。 プロトコルの詳細については、「クライアント プロトコルの構成」を参照してください。 protocol も 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 により再アタッチされることはありません (アタッチされているベースがその接続の既定のデータベースとして使用されます)。 |
Authentication1 | SSPROP_AUTH_MODE | 使用する SQL または Microsoft Entra 認証を指定します。 有効な値は次のとおりです。
注: ActiveDirectoryIntegrated キーワードは、SQL Server に対する Windows 認証でも使用できます。 これは、Integrated Security (または Trusted_Connection ) 認証キーワードに代わるものです。 Integrated Security (または Trusted_Connection ) キーワードまたはそれに対応するプロパティを使用するアプリケーションで、Authentication キーワード (またはそれに対応するプロパティ) の値を ActiveDirectoryIntegrated に設定して、新しい暗号化および証明書の検証の動作を有効にすることをお勧めします。注: SQL Server 認証を使用するアプリケーションで、Authentication キーワード (またはそれに対応するプロパティ) の値を SqlPassword に設定して、新しい暗号化および証明書の検証の動作を有効にすることをお勧めします。 |
自動翻訳 | SSPROP_INIT_AUTOTRANSLATE | AutoTranslate のシノニム。 |
AutoTranslate | SSPROP_INIT_AUTOTRANSLATE | OEM/ANSI 文字の変換を構成します。 認識される値は yes と no です。 |
ConnectRetryCount | SSPROP_INIT_CONNECT_RETRY_COUNT | 接続が失われた場合の再接続試行回数を制御します。 有効な値の範囲は 0 から 255 です。 既定値は 1 です。 値を 0 にすると、再接続は試行されません。 詳細については、アイドル状態の接続の回復性に関するページを参照してください。 |
ConnectRetryInterval | SSPROP_INIT_CONNECT_RETRY_INTERVAL | 接続が失われた場合の各接続再試行の間隔を秒数で指定します。 有効な値の範囲は 1 から 60 です。 既定値は 10 です。 詳細については、アイドル状態の接続の回復性に関するページを参照してください。 |
[データベース] | DBPROP_INIT_CATALOG | データベース名です。 |
DataTypeCompatibility | SSPROP_INIT_DATATYPECOMPATIBILITY | 使用するデータ型処理モードを指定します。 認識される値は、プロバイダー データ型を示す 0 と SQL Server 2000 データ型を示す 80 です。 |
Encrypt1 | 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 に設定すると、証明書は常に検証されます。 |
言語 | 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=Yes Always 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 のログイン パスワード。 |
[サーバー] | 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 キーワードの完全な構文は次のとおりです。 Server= ["プロトコル" : ]"サーバー"[ , "ポート"] protocol には、 tcp (TCP/IP)、 lpc (共有メモリ)、または np (名前付きパイプ) を指定できます。 次の例では、名前付きパイプを指定します。 np:\\.\pipe\MSSQL$MYINST01\sql\query 上の行では、名前付きパイプのプロトコル ( np )、ローカル コンピューター上の名前付きパイプ (\\.\pipe )、SQL Server インスタンスの名前 (MSSQL$MYINST01 )、および名前付きパイプの既定の名前 (sql/query ) を指定しています。protocol も 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 が既定値として使用されます。 |
タイムアウト | 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 キーワードを指定する必要があります。 |
TrustServerCertificate1 | 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」 (暗号化と証明書の検証) を参照してください。
Using IDataInitialize::GetDataSource
IDataInitialize::GetDataSource を利用する OLE DB アプリケーションで使用される接続文字列の構文は次のとおりです。
connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string
empty-string ::=
attribute ::= attribute-keyword=[quote]attribute-value[quote]
attribute-value ::= character-string
attribute-keyword ::= identifier
quote ::= " | '
プロパティの使用方法は、プロパティのスコープで許可される構文に従っている必要があります。 たとえば、WSID では中かっこ ( {} ) の引用符を使用し、Application Name では一重 ( ' ) または二重 ( " ) 引用符を使用します。 引用符で囲むことができるのは、文字列のプロパティのみです。 整数または列挙のプロパティを引用符で囲むと、Connection String doesn't conform to OLE DB specification
エラーになります。
属性値は必要に応じて一重引用符または二重引用符で囲むことができます。常にこれらの引用符を使用すると、 これにより、値に英数字以外の文字が含まれる場合の問題を回避できます。 文字を引用符で囲む場合、二重引用符を使用すれば、値の中に含めることもできます。
接続文字列キーワードの等号 (=) の後のスペース文字は、値を引用符で囲んだ場合でも、リテラルとして解釈されます。
接続文字列に次の表のプロパティが複数含まれている場合は、最後のプロパティの値が使用されます。
次の表では、IDataInitialize::GetDataSource と共に使用できるキーワードについて説明します。
Keyword | 初期化プロパティ | 説明 |
---|---|---|
Access Token1 | SSPROP_AUTH_ACCESS_TOKEN | Microsoft Entra ID に対する認証に使用されるアクセス トークン。 注: このキーワードを指定し、 UID 、PWD 、Trusted_Connection 、または Authentication 接続文字列キーワードまたはそれに対応するプロパティ/キーワードも指定すると、エラーになります。 |
アプリケーション名 | 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 の高可用性、ディザスター リカバリーに関するサポート」を参照してください。 |
Authentication1 | SSPROP_AUTH_MODE | 使用する SQL または Microsoft Entra 認証を指定します。 有効な値は次のとおりです。
注: ActiveDirectoryIntegrated キーワードは、SQL Server に対する Windows 認証でも使用できます。 これは、Integrated Security (または Trusted_Connection ) 認証キーワードに代わるものです。 Integrated Security (または Trusted_Connection ) キーワードまたはそれに対応するプロパティを使用するアプリケーションで、Authentication キーワード (またはそれに対応するプロパティ) の値を ActiveDirectoryIntegrated に設定して、新しい暗号化および証明書の検証の動作を有効にすることをお勧めします。注: SQL Server 認証を使用するアプリケーションで、Authentication キーワード (またはそれに対応するプロパティ) の値を SqlPassword に設定して、新しい暗号化および証明書の検証の動作を有効にすることをお勧めします。 |
自動翻訳 | SSPROP_INIT_AUTOTRANSLATE | OEM/ANSI 文字の変換を構成します。 認識される値は true と false です。 |
Connect Timeout | DBPROP_INIT_TIMEOUT | データ ソースの初期化が完了するのを待機する秒数。 |
Connect Retry Count | SSPROP_INIT_CONNECT_RETRY_COUNT | 接続が失われた場合の再接続試行回数を制御します。 有効な値の範囲は 0 から 255 です。 既定値は 1 です。 値を 0 にすると、再接続は試行されません。 詳細については、アイドル状態の接続の回復性に関するページを参照してください。 |
Connect Retry Interval | SSPROP_INIT_CONNECT_RETRY_INTERVAL | 接続が失われた場合の各接続再試行の間隔を秒数で指定します。 有効な値の範囲は 1 から 60 です。 既定値は 10 です。 詳細については、アイドル状態の接続の回復性に関するページを参照してください。 |
Current Language | SSPROPT_INIT_CURRENTLANGUAGE | SQL Server 言語の名前。 |
データ ソース | 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 が既定値として使用されます。 |
証明書のホスト名 | SSPROP_INIT_HOST_NAME_CERTIFICATE | SQL Server TLS/SSL 証明書の検証に使われるホスト名。 HostNameInCertificate キーワードが設定されていない場合、ドライバーは接続 URL の Data Source キーワード値をホスト名として使って、SQL Server TLS/SSL 証明書を検証します。 注: サーバー証明書が信頼されている場合、このプロパティは無視されます。 [データに暗号化を使用する] が Strict に設定されている場合、証明書は常に検証されます。 |
初期カタログ | DBPROP_INIT_CATALOG | データベース名です。 |
初期ファイル名 | SSPROP_INIT_FILENAME | アタッチできるデータベースのプライマリ ファイルの名前 (完全なパス名を含む)。 AttachDBFileName を使用するには、プロバイダー文字列の DATABASE キーワードでデータベース名を指定する必要もあります。 データベースが以前にアタッチされていた場合、SQL Server により再アタッチされることはありません (アタッチされているベースがその接続の既定のデータベースとして使用されます)。 |
統合セキュリティ | 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=True Always 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 です (実際の値はサーバーによって決定されます)。 |
パスワード | DBPROP_AUTH_PASSWORD | SQL Server のログイン パスワード。 |
Persist Security Info | DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO | 文字列 true と false を値として受け取ります。 false の場合、データ ソース オブジェクトには機密の認証情報を保持できません |
プロバイダー | OLE DB Driver for SQL Server では、この値を "MSOLEDBSQL19" または "MSOLEDBSQL" にする必要があります。 | |
サーバー証明書 | 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 Certificate1 | SSPROP_INIT_TRUST_SERVER_CERTIFICATE | 文字列 true と false を値として受け取ります。 既定値は false です。これはサーバー証明書が検証されることを示します。 |
Use Encryption for Data1 | 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 を使用して代わりにメタデータを取得するようにドライバーに指示されます。 |
[ユーザー ID] | DBPROP_AUTH_USERID | SQL Server のログイン名。 |
Workstation ID | SSPROP_INIT_WSID | ワークステーション ID。 |
[1]:セキュリティを強化するために、認証/アクセス トークンの初期化プロパティまたはそれに対応する接続文字列キーワードを使用する場合の、暗号化と証明書の検証の動作が変更されています。 詳細については、「暗号化と証明書の検証」を参照してください。
注意
接続文字列には、Old Password
プロパティにより SSPROP_AUTH_OLD_PASSWORD が設定されます。これは現在の (期限切れの可能性がある) パスワードで、プロバイダー文字列のプロパティから使用することはできません。
ADO (ActiveX Data Objects) の接続文字列のキーワード
ADO アプリケーションでは、ADODBConnection オブジェクトの ConnectionString プロパティが設定されるか、ADODBConnection オブジェクトの Open メソッドにパラメーターとして接続文字列が指定されます。
また、ADO アプリケーションでは、既定値がないプロパティにのみ、OLE DB IDBInitialize::Initialize メソッドで使用されるキーワードを利用できます。 アプリケーションにより、初期化文字列で ADO キーワードと IDBInitialize::Initialize キーワードが両方とも使われている場合、ADO キーワードの設定が使用されます。 アプリケーションでは ADO 接続文字列キーワードのみを使用することをお勧めします。
ADO で使用される接続文字列の構文を次に示します。
connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string
empty-string ::=
attribute ::= attribute-keyword=["]attribute-value["]
attribute-value ::= character-string
attribute-keyword ::= identifier
属性値は必要に応じて二重引用符で囲むことができ、そうするのがよい方法です。 これにより、値に英数字以外の文字が含まれる場合の問題を回避できます。 属性値に二重引用符を含めることはできません。
次の表に、ADO 接続文字列と共に使用できるキーワードを示します。
Keyword | 初期化プロパティ | 説明 |
---|---|---|
Access Token1 | 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 の高可用性、ディザスター リカバリーに関するサポート」を参照してください。 |
アプリケーション名 | SSPROP_INIT_APPNAME | アプリケーションを識別する文字列。 |
Authentication1 | SSPROP_AUTH_MODE | 使用する SQL または Microsoft Entra 認証を指定します。 有効な値は次のとおりです。
注: ActiveDirectoryIntegrated キーワードは、SQL Server に対する Windows 認証でも使用できます。 これは、Integrated Security (または Trusted_Connection ) 認証キーワードに代わるものです。 Integrated Security (または Trusted_Connection ) キーワードまたはそれに対応するプロパティを使用するアプリケーションで、Authentication キーワード (またはそれに対応するプロパティ) の値を ActiveDirectoryIntegrated に設定して、新しい暗号化および証明書の検証の動作を有効にすることをお勧めします。注: SQL Server 認証を使用するアプリケーションで、Authentication キーワード (またはそれに対応するプロパティ) の値を SqlPassword に設定して、新しい暗号化および証明書の検証の動作を有効にすることをお勧めします。 |
自動翻訳 | SSPROP_INIT_AUTOTRANSLATE | OEM/ANSI 文字の変換を構成します。 認識される値は true と false です。 |
Connect Timeout | DBPROP_INIT_TIMEOUT | データ ソースの初期化が完了するのを待機する秒数。 |
Connect Retry Count | SSPROP_INIT_CONNECT_RETRY_COUNT | 接続が失われた場合の再接続試行回数を制御します。 有効な値の範囲は 0 から 255 です。 既定値は 1 です。 値を 0 にすると、再接続は試行されません。 詳細については、アイドル状態の接続の回復性に関するページを参照してください。 |
Connect Retry Interval | SSPROP_INIT_CONNECT_RETRY_INTERVAL | 接続が失われた場合の各接続再試行の間隔を秒数で指定します。 有効な値の範囲は 1 から 60 です。 既定値は 10 です。 詳細については、アイドル状態の接続の回復性に関するページを参照してください。 |
Current Language | SSPROPT_INIT_CURRENTLANGUAGE | SQL Server 言語の名前。 |
データ ソース | DBPROP_INIT_DATASOURCE | 組織内の SQL Server インスタンスの名前。 指定されなかった場合は、ローカル コンピューター上にある既定のインスタンスに接続します。 有効なアドレス構文の詳細については、この記事の Server キーワードに関する説明を参照してください。 |
DataTypeCompatibility | SSPROP_INIT_DATATYPECOMPATIBILITY | 使用するデータ型処理モードを指定します。 認識される値は、プロバイダー データ型を示す 0 と SQL Server 2000 データ型を示す 80 です。 |
Failover Partner | SSPROP_INIT_FAILOVERPARTNER | データベース ミラーリングに使用するフェールオーバー サーバーの名前。 |
Failover Partner SPN | SSPROP_INIT_FAILOVERPARTNERSPN | フェールオーバー パートナーの SPN。 既定値は空の文字列です。 空の文字列を使用すると、OLE DB Driver for SQL Server ではプロバイダーが生成した SPN が既定値として使用されます。 |
証明書のホスト名 | SSPROP_INIT_HOST_NAME_CERTIFICATE | SQL Server TLS/SSL 証明書の検証に使われるホスト名。 HostNameInCertificate キーワードが設定されていない場合、ドライバーは接続 URL の Data Source キーワード値をホスト名として使って、SQL Server TLS/SSL 証明書を検証します。 注: サーバー証明書が信頼されている場合、このプロパティは無視されます。 [データに暗号化を使用する] が Strict に設定されている場合、証明書は常に検証されます。 |
初期カタログ | DBPROP_INIT_CATALOG | データベース名です。 |
初期ファイル名 | SSPROP_INIT_FILENAME | アタッチできるデータベースのプライマリ ファイルの名前 (完全なパス名を含む)。 AttachDBFileName を使用するには、プロバイダー文字列の DATABASE キーワードでデータベース名を指定する必要もあります。 データベースが以前にアタッチされていた場合、SQL Server により再アタッチされることはありません (アタッチされているベースがその接続の既定のデータベースとして使用されます)。 |
統合セキュリティ | 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=True Always 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 です (実際の値はサーバーによって決定されます)。 |
パスワード | DBPROP_AUTH_PASSWORD | SQL Server のログイン パスワード。 |
Persist Security Info | DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO | 文字列 true と false を値として受け取ります。 false の場合、データ ソース オブジェクトには機密の認証情報を保持できません。 |
プロバイダー | OLE DB Driver for SQL Server の場合、値は MSOLEDBSQL19 または MSOLEDBSQL です。 |
|
サーバー証明書 | 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 Certificate1 | SSPROP_INIT_TRUST_SERVER_CERTIFICATE | 文字列 true と false を値として受け取ります。 既定値は false です。これはサーバー証明書が検証されることを示します。 |
Use Encryption for Data1 | 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 を使用して代わりにメタデータを取得するようにドライバーに指示されます。 |
[ユーザー ID] | DBPROP_AUTH_USERID | SQL Server のログイン名。 |
Workstation ID | SSPROP_INIT_WSID | ワークステーション ID。 |
[1]:セキュリティを強化するために、認証/アクセス トークンの初期化プロパティまたはそれに対応する接続文字列キーワードを使用する場合の、暗号化と証明書の検証の動作が変更されています。 詳細については、「暗号化と証明書の検証」を参照してください。
注意
接続文字列の "Old Password" プロパティは SSPROP_AUTH_OLD_PASSWORD に設定され、現在の (または期限切れの) パスワードが設定されます。このパスワードをプロバイダー文字列のプロパティ経由で使用することはできません。