SQL Server Native Client での接続文字列キーワードの使用
一部の SQL Server Native Client API では、接続文字列を使用して接続属性を指定します。接続文字列はキーワードとそれに関連する値のリストです。各キーワードによって特定の接続属性を識別します。
注 |
---|
SQL Server Native Client では、旧バージョンとの互換性を維持するために接続文字列のあいまい性が許可されます。たとえば、キーワードを複数回指定したり、位置と優先順位に基づいた解決方法を使用して、競合するキーワードを指定することができます。SQL Server Native Client の今後のリリースでは、あいまいな接続文字列を使用できなくなる可能性があります。SQL Server Native Client を使用するアプリケーションでは、あいまいな接続文字列を利用しないように変更することをお勧めします。 |
次のセクションでは、SQL Server Native Client をデータ プロバイダーとして使用するときに、SQL Server Native Client OLE DB プロバイダー、SQL Server Native Client ODBC ドライバー、および ActiveX データ オブジェクト (ActiveX Data Objects) と共に使用できるキーワードについて説明します。
OLE DB プロバイダーの接続文字列キーワード
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 キーワードを使用しないことを強くお勧めします。
注 |
---|
IDataInitialize::GetDataSource を介して渡される接続文字列は、プロパティに変換され、IDBProperties::SetProperties を介して適用されます。コンポーネント サービスが IDBProperties::GetPropertyInfo でプロパティの説明を見つけた場合、そのプロパティはスタンドアロンのプロパティとして適用されます。それ以外の場合は、DBPROP_PROVIDERSTRING プロパティを介して適用されます。たとえば、接続文字列 Data Source=server1;Server=server2 を指定した場合、Data Source はプロパティとして設定されますが、Server はプロバイダー文字列に含まれます。 |
同じプロバイダー固有のプロパティのインスタンスを複数指定した場合、最初のプロパティの最初の値が使用されます。
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 と共に使用できるキーワードを示します。
キーワード |
初期化プロパティ |
説明 |
---|---|---|
Addr |
SSPROP_INIT_NETWORKADDRESS |
"Address" のシノニム。 |
Address |
SSPROP_INIT_NETWORKADDRESS |
組織内の SQL Server インスタンスのネットワーク アドレス。 有効なアドレス構文の詳細については、このトピック内にある Address ODBC キーワードに関する説明を参照してください。 |
APP |
SSPROP_INIT_APPNAME |
アプリケーションを識別する文字列。 |
AttachDBFileName |
SSPROP_INIT_FILENAME |
アタッチできるデータベースのプライマリ ファイルの名前 (完全なパス名を含む)。AttachDBFileName を使用するには、プロバイダー文字列の DATABASE キーワードでデータベース名を指定する必要があります。データベースが以前にアタッチされていた場合、SQL Server により再アタッチされることはありません (アタッチされたデータベースがその接続の既定のデータベースとして使用されます)。 |
Auto Translate |
SSPROP_INIT_AUTOTRANSLATE |
"AutoTranslate" のシノニム。 |
AutoTranslate |
SSPROP_INIT_AUTOTRANSLATE |
OEM/ANSI 文字の変換を構成します。認識できる値は "yes" と "no" です。 |
Database |
DBPROP_INIT_CATALOG |
データベースの名前。 |
DataTypeCompatibility |
SSPROP_INIT_DATATYPECOMPATIBILITY |
使用するデータ型処理モードを指定します。認識できる値は、プロバイダー データ型を示す "0" および SQL Server 2000 データ型を示す "80" です。 |
Encrypt |
SSPROP_INIT_ENCRYPT |
データをネットワークに送信する前に暗号化するかどうかを指定します。指定できる値は "yes" と "no" です。既定値は "no" です。 |
FailoverPartner |
SSPROP_INIT_FAILOVERPARTNER |
データベース ミラーリングに使用するフェールオーバー サーバーの名前。 |
FailoverPartnerSPN |
SSPROP_INIT_FAILOVERPARTNERSPN |
フェールオーバー パートナーの SPN。既定値は空の文字列です。空の文字列の場合、SQL Server Native Client はプロバイダーが生成した SPN を既定値として使用します。 |
Language |
SSPROPT_INIT_CURRENTLANGUAGE |
SQL Server 言語。 |
MarsConn |
SSPROP_INIT_MARSCONNECTION |
その接続で MARS (複数のアクティブな結果セット) を有効または無効にします (SQL Server 2005 以降のサーバーの場合)。指定できる値は "yes" と "no" です。既定値は "no" です。 |
Net |
SSPROP_INIT_NETWORKLIBRARY |
"Network" のシノニム。 |
Network |
SSPROP_INIT_NETWORKLIBRARY |
組織内の SQL Server インスタンスへの接続を確立するために使用するネットワーク ライブラリ。 |
Network Library |
SSPROP_INIT_NETWORKLIBRARY |
"Network" のシノニム。 |
PacketSize |
SSPROP_INIT_PACKETSIZE |
ネットワーク パケットのサイズ。既定値は 0 です。これは、サーバーで sp_configure 'network packet size' の設定に基づいてパケット サイズが構成されることを示します。 |
PersistSensitive |
DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO |
文字列 "yes" と "no" を値として受け取ります。"no" の場合、データ ソース オブジェクトには機密の認証情報を保存できません。 |
PWD |
DBPROP_AUTH_PASSWORD |
SQL Server のログイン パスワード。 |
Server |
DBPROP_INIT_DATASOURCE |
組織内の SQL Server インスタンスの名前。 指定されなかった場合は、ローカル コンピューター上にある既定のインスタンスに接続します。 有効なアドレス構文の詳細については、このトピック内にある Server ODBC キーワードに関する説明を参照してください。 |
ServerSPN |
SSPROP_INIT_SERVERSPN |
サーバーの SPN。既定値は空の文字列です。空の文字列の場合、SQL Server Native Client はプロバイダーが生成した SPN を既定値として使用します。 |
Timeout |
DBPROP_INIT_TIMEOUT |
データ ソースの初期化が完了するのを待機する秒数。 |
Trusted_Connection |
DBPROP_AUTH_INTEGRATED |
"yes" の場合、SQL Server Native Client OLE DB プロバイダーでログインを検証するときに Windows 認証モードが使用されます。それ以外の場合は、SQL Server Native Client OLE DB プロバイダーでログインを検証するときに SQL Server のユーザー名とパスワードが使用され、UID キーワードと PWD キーワードの指定が必要になります。 |
TrustServerCertificate |
SSPROP_INIT_TRUST_SERVER_CERTIFICATE |
文字列 "yes" と "no" を値として受け取ります。既定値は "no" です。これはサーバー証明書が検証されることを示します。 |
UID |
DBPROP_AUTH_USERID |
SQL Server のログイン名。 |
UseProcForPrepare |
SSPROP_INIT_USEPROCFORPREP |
SQL Server Native Client OLE DB プロバイダーでは、このキーワードは推奨されず、設定は無視されます。 |
WSID |
SSPROP_INIT_WSID |
ワークステーション ID。 |
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 では一重 (') または二重 (") の引用符を使用します。引用符で囲むことができるのは、文字列のプロパティのみです。整数または列挙のプロパティを引用符で囲むと、"接続文字列は OLE DB 仕様に準拠していません" というエラーが発生します。
属性値は必要に応じて一重引用符または二重引用符で囲むことができます。常にこれらの引用符を使用すると、値に英数字以外の文字が含まれる場合の問題を回避できます。二重引用符の場合は、値の中に含めることもできます。
接続文字列キーワードの等号 (=) の後のスペース文字は、値を引用符で囲んだ場合でも、リテラルとして解釈されます。
接続文字列に以下のプロパティが複数含まれている場合は、最後のプロパティの値が使用されます。
次の表に、IDataInitialize::GetDataSource と共に使用できるキーワードについて説明します。
キーワード |
初期化プロパティ |
説明 |
---|---|---|
Application Name |
SSPROP_INIT_APPNAME |
アプリケーションを識別する文字列。 |
Auto Translate |
SSPROP_INIT_AUTOTRANSLATE |
"AutoTranslate" のシノニム。 |
AutoTranslate |
SSPROP_INIT_AUTOTRANSLATE |
OEM/ANSI 文字の変換を構成します。認識できる値は "true" と "false" です。 |
Connect Timeout |
DBPROP_INIT_TIMEOUT |
データ ソースの初期化が完了するのを待機する秒数。 |
Current Language |
SSPROPT_INIT_CURRENTLANGUAGE |
SQL Server 言語の名前。 |
Data Source |
DBPROP_INIT_DATASOURCE |
組織内の SQL Server インスタンスの名前。 指定されなかった場合は、ローカル コンピューター上にある既定のインスタンスに接続します。 有効なアドレス構文の詳細については、このトピック内にある Server ODBC キーワードに関する説明を参照してください。 |
DataTypeCompatibility |
SSPROP_INIT_DATATYPECOMPATIBILITY |
使用するデータ型処理モードを指定します。認識できる値は、プロバイダー データ型を示す "0" および SQL Server 2000 データ型を示す "80" です。 |
Failover Partner |
SSPROP_INIT_FAILOVERPARTNER |
データベース ミラーリングに使用するフェールオーバー サーバーの名前。 |
Failover Partner SPN |
SSPROP_INIT_FAILOVERPARTNERSPN |
フェールオーバー パートナーの SPN。既定値は空の文字列です。空の文字列の場合、SQL Server Native Client はプロバイダーが生成した SPN を既定値として使用します。 |
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 または SQL Server 2008 の場合)。認識できる値は "true" と "false" です。既定値は "false" です。 |
Network Address |
SSPROP_INIT_NETWORKADDRESS |
組織内の SQL Server インスタンスのネットワーク アドレス。 有効なアドレス構文の詳細については、このトピック内にある Address ODBC キーワードに関する説明を参照してください。 |
Network Library |
SSPROP_INIT_NETWORKLIBRARY |
組織内の SQL Server インスタンスへの接続を確立するために使用するネットワーク ライブラリ。 |
Packet Size |
SSPROP_INIT_PACKETSIZE |
ネットワーク パケットのサイズ。既定値は 0 です。これは、サーバーで sp_configure 'network packet size' の設定に基づいてパケット サイズが構成されることを示します。 |
Password |
DBPROP_AUTH_PASSWORD |
SQL Server のログイン パスワード。 |
Persist Security Info |
DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO |
文字列 "true" と "false" を値として受け取ります。"false" の場合、データ ソース オブジェクトには機密の認証情報を保存できません。 |
Provider |
|
SQL Server Native Client の場合は "SQLNCLI10"。 |
Server SPN |
SSPROP_INIT_SERVERSPN |
サーバーの SPN。既定値は空の文字列です。空の文字列の場合、SQL Server Native Client はプロバイダーが生成した SPN を既定値として使用します。 |
Trust Server Certificate |
SSPROP_INIT_TRUST_SERVER_CERTIFICATE |
文字列 "true" と "false" を値として受け取ります。既定値は "false" です。これはサーバー証明書が検証されることを示します。 |
Use Encryption for Data |
SSPROP_INIT_ENCRYPT |
データをネットワークに送信する前に暗号化するかどうかを指定します。指定できる値は "true" と "false" です。既定値は "false" です。 |
User ID |
DBPROP_AUTH_USERID |
SQL Server のログイン名。 |
Workstation ID |
SSPROP_INIT_WSID |
ワークステーション ID。 |
注 接続文字列の "Old Password" プロパティは SSPROP_AUTH_OLD_PASSWORD に設定され、現在の (または期限切れの) パスワードが設定されます。このパスワードをプロバイダー文字列のプロパティ経由で使用することはできません。
ODBC ドライバー接続文字列キーワード
ODBC アプリケーションでは、SQLDriverConnect 関数および SQLBrowseConnect 関数に渡すパラメーターとして接続文字列が使用されます。
ODBC で使用される接続文字列の構文を次に示します。
connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string
empty-string ::=
attribute ::= attribute-keyword=[{]attribute-value[}]
attribute-value ::= character-string
attribute-keyword ::= identifier
属性値は必要に応じて中かっこで囲むことができます。常に中かっこを使用すると、属性値に英数字以外の文字が含まれる場合の問題を回避できます。最初の右中かっこが値の終わりと見なされるため、値に右中かっこを含めることはできません。
次の表に、ODBC 接続文字列と共に使用できるキーワードを示します。
キーワード |
説明 |
---|---|
Addr |
"Address" のシノニム。 |
Address |
SQL Server のインスタンスを実行しているサーバーのネットワーク アドレス。Address には通常、サーバーのネットワーク名を使用しますが、パイプ、IP アドレス、または TCP/IP ポートとソケット アドレスなど他の名前を指定してもかまいません。 IP アドレスを指定する場合は、SQL Server 構成マネージャーで TCP/IP または名前付きパイプ プロトコルが有効になっていることを確認します。 Address の値は、SQL Server Native Client の使用時に ODBC 接続文字列で Server に渡される値よりも優先されます。Address=; の場合は、Server キーワードで指定されているサーバーに接続されますが、Address= ;、Address=.;、Address=localhost;、および Address=(local); の場合はすべて、ローカル サーバーに接続されます。 Address キーワードの完全な構文は次のとおりです。 [protocol:]Address[,port |\pipe\pipename] protocol には、tcp (TCP/IP)、 lpc (共有メモリ)、または np (名前付きパイプ) を設定できます。プロトコルの詳細については、「ネットワーク プロトコルの選択」を参照してください。 protocol と Network のどちらのキーワードも指定されていない場合、SQL Server Native Client は、SQL Server 構成マネージャーに指定されているプロトコルの順序を使用します。 port は、指定したサーバー上の接続先のポートです。既定では、SQL Server はポート 1433 を使用します。 プロトコルの詳細については、「ネットワーク プロトコルの選択」を参照してください。 |
AnsiNPW |
"yes" の場合、ANSI で定められた動作に従って NULL の比較、文字データの埋め込み、警告、および NULL 連結が処理されます。"no" の場合、ANSI で定められた動作が公開されません。ANSI NPW 動作の詳細については、「ISO オプションの効果」を参照してください。 |
APP |
SQLDriverConnect を呼び出すアプリケーションの名前 (省略可)。APP を指定すると、その値は、master.dbo.sysprocesses テーブルの program_name 列に格納され、sp_who 関数および APP_NAME 関数によって返されます。 |
AttachDBFileName |
アタッチできるデータベースのプライマリ ファイルの名前。この名前には完全なパス名を指定します。また C 文字列変数を使用する場合は、\ 文字をエスケープしてください。 AttachDBFileName=c:\\MyFolder\\MyDB.mdf このデータベースがアタッチされ、接続の既定のデータベースとして使用されます。AttachDBFileName を使用するには、SQLDriverConnect の DATABASE パラメーターまたは SQL_COPT_CURRENT_CATALOG 接続属性でデータベース名を指定する必要があります。データベースが以前にアタッチされていた場合、SQL Server により再アタッチされることはありません (アタッチされたデータベースがその接続の既定のデータベースとして使用されます)。 |
AutoTranslate |
"yes" の場合、クライアントとサーバーの間で送受信される ANSI 文字列は、いったん Unicode に変換されます。これは、クライアントとサーバーのコード ページ間で拡張文字を照合するときに発生する問題を最小限に抑えるためです。 SQL Server の char 型、varchar 型、または text 型の変数、パラメーター、列のいずれかに送信したクライアントの SQL_C_CHAR データでは、クライアントの ACP (ANSI コード ページ) に基づいて文字列が Unicode に変換され、その後で、サーバーの ACP に基づいて Unicode から文字列に変換されます。 クライアントの SQL_C_CHAR 変数に送信した SQL Server の char 型、varchar 型、または text 型のデータでは、サーバーの ACP に基づいて文字列が Unicode に変換され、その後で、クライアントの ACP に基づいて Unicode から文字列に変換されます。 この変換は、SQL Server Native Client ODBC ドライバーによってクライアントで行われます。また、サーバーで使用しているものと同じ ACP (ANSI コード ページ) がクライアントでも使用可能になっている必要があります。 次の設定は、送受信時の変換に影響しません。
"no" の場合、文字の変換は行われません。 SQL Server Native Client ODBC ドライバーでは、サーバーの char 型、varchar 型、または text 型の変数、パラメーター、列のいずれかに送信される、クライアントの ANSI 文字の SQL_C_CHAR データは変換されません。またサーバーからクライアントの SQL_C_CHAR 変数に送信される char 型、varchar 型、または text 型のデータも変換されません。 クライアントと SQL Server で使用する ACP が異なる場合、拡張文字の解釈が正しく行われない場合があります。 |
Database |
接続に使用する既定の SQL Server データベースの名前。Database を指定していない場合は、ログインに定義されている既定のデータベースが使用されます。ODBC データ ソースの既定のデータベースは、ログインに定義されている既定のデータベースよりも優先されます。AttachDBFileName を指定する場合を除き、既存のデータベースを使用する必要があります。AttachDBFileName も指定した場合は、このキーワードが参照するプライマリ ファイルがアタッチされ、Database で指定したデータベース名が付けられます。 |
Driver |
SQLDrivers が返すドライバー名。SQL Server Native Client ODBC ドライバーに対するこのキーワードの値は "{SQL Server Native Client 10.0}" です。Driver を指定し、DriverCompletion を SQL_DRIVER_NOPROMPT に設定している場合は、Server キーワードが必要です。 ドライバー名の詳細については、「SQL Server Native Client ヘッダー ファイルとライブラリ ファイルの使用」を参照してください。 |
DSN |
既存の ODBC ユーザー データ ソースまたはシステム データ ソースの名前。このキーワードは、Server、 Network、および Address の各キーワードに指定されている値よりも優先されます。 |
Encrypt |
データをネットワークに送信する前に暗号化するかどうかを指定します。指定できる値は "yes" と "no" です。既定値は "no" です。 |
Fallback |
SQL Server Native Client ODBC ドライバーでは、このキーワードは推奨されず、設定は無視されます。 |
Failover_Partner |
プライマリ サーバーに接続できない場合に使用するフェールオーバー パートナー サーバーの名前。 |
FailoverPartnerSPN |
フェールオーバー パートナーの SPN。既定値は空の文字列です。空の文字列の場合、SQL Server Native Client はドライバーが生成した SPN を既定値として使用します。 |
FileDSN |
既存の ODBC ファイル データ ソースの名前。 |
Language |
SQL Server 言語の名前 (省略可)。SQL Server では、複数の言語のメッセージを sysmessages に保存できます。複数の言語が設定された SQL Server に接続する場合、その接続でどのメッセージのセットを使用するかを Language で指定します。 |
MARS_Connection |
その接続で MARS (複数のアクティブな結果セット) を有効または無効にします (サーバーが SQL Server 2005 または SQL Server 2008 の場合)。認識できる値は "yes" と "no" です。既定値は "no" です。 |
Net |
"Network" のシノニム。 |
Network |
有効な値は、dbnmpntw (名前付きパイプ) と dbmssocn (TCP/IP) です。 ネットワーク プロトコルの詳細については、「ネットワーク プロトコルの選択」を参照してください。 Network キーワードの値と Server キーワードのプロトコル プレフィックスの両方を指定すると、エラーになります。 |
PWD |
UID パラメーターで指定されている SQL Server ログイン アカウントのパスワード。ログインのパスワードが NULL の場合、または Windows 認証 (Trusted_Connection = yes) を使用している場合は、PWD を指定する必要はありません。 |
QueryLog_On |
"yes" の場合、その接続では、実行時間の長いクエリのデータに関するログを記録できます。"no" の場合、実行時間の長いクエリのデータに関するログは記録されません。 |
QueryLogFile |
実行時間の長いクエリのデータをログに記録する場合に使用するファイルの完全なパスとファイル名。 |
QueryLogTime |
実行時間の長いクエリをログに記録するためのしきい値 (ミリ秒) を指定する数字文字列。指定時間内に応答が返ってこないクエリは、実行時間の長いクエリ用のログ ファイルに記録されます。 |
QuotedId |
"yes" の場合、その接続の QUOTED_IDENTIFIERS が ON に設定され、SQL Server は ISO 規則に従って SQL ステートメントの引用符を処理します。"no" の場合、その接続の QUOTED_IDENTIFIERS が OFF に設定され、SQL Server は従来の Transact-SQL 規則に従って SQL ステートメントの引用符を処理します。詳細については、「ISO オプションの効果」を参照してください。 |
Regional |
"yes" の場合、通貨、日付、および時刻データが文字データに変換されるときに、SQL Server Native Client ODBC ドライバーではクライアントの設定が使用されます。変換は一方向にのみ行われます。INSERT ステートメントや UPDATE ステートメントのパラメーターなどで日付文字列または通貨の値が ODBC 標準以外の形式で指定されている場合、ドライバーでは、これらの値は認識されません。"no" の場合、文字データに変換される通貨、日付、および時刻データを表現するために ODBC 標準の文字列が使用されます。 |
SaveFile |
接続が成功した場合に、現在の接続の属性を保存する ODBC データ ソース ファイルの名前。 |
Server |
SQL Server のインスタンスの名前。ネットワーク上のサーバーの名前、IP アドレス、または SQL Server 構成マネージャーの別名を指定する必要があります。 Address キーワードは、Server キーワードよりも優先されます。 ローカル サーバー上の既定のインスタンスに接続するには、次のいずれかを指定します。
SQL Server の名前付きインスタンスを指定するには、\InstanceName を追加します。 サーバーを指定しなかった場合は、ローカル コンピューター上にある既定のインスタンスに接続されます。 IP アドレスを指定する場合は、SQL Server 構成マネージャーで TCP/IP または名前付きパイプ プロトコルが有効になっていることを確認します。 Server キーワードの完全な構文は次のとおりです。 Server=[protocol:]Server[,port] protocol には、tcp (TCP/IP)、 lpc (共有メモリ)、または np (名前付きパイプ) を設定できます。プロトコルの詳細については、「ネットワーク プロトコルの選択」を参照してください。 名前付きパイプを指定する例を次に示します。
この行では、名前付きパイプのプロトコル、ローカル コンピューター上の名前付きパイプ (\\.\pipe)、SQL Server インスタンスの名前 (MSSQL$MYINST01)、および名前付きパイプの既定の名前 (sql/query) を指定しています。 protocol と Network のどちらのキーワードも指定されていない場合、SQL Server Native Client は、SQL Server 構成マネージャーに指定されているプロトコルの順序を使用します。 port は、指定したサーバー上の接続先のポートです。既定では、SQL Server はポート 1433 を使用します。 SQL Server Native Client の使用時、ODBC 接続文字列で Server に渡された値の先頭のスペースは無視されます。 |
ServerSPN |
サーバーの SPN。既定値は空の文字列です。空の文字列の場合、SQL Server Native Client はドライバーが生成した SPN を既定値として使用します。 |
StatsLog_On |
"yes" の場合、SQL Server Native Client ODBC ドライバーのパフォーマンス データをキャプチャできます。"no" の場合、その接続では SQL Server Native Client ODBC ドライバーのパフォーマンス データを取得できません。 |
StatsLogFile |
SQL Server Native Client ODBC ドライバーのパフォーマンス統計を記録するために使用するファイルの完全なパスとファイル名。 |
Trusted_Connection |
"yes" の場合、SQL Server Native Client ODBC ドライバーでログインを検証するときに Windows 認証モードが使用されます。それ以外の場合は、SQL Server Native Client ODBC ドライバーでログインを検証するときに SQL Server のユーザー名とパスワードが使用され、UID キーワードと PWD キーワードの指定が必要になります。 |
TrustServerCertificate |
Encrypt と共に使用すると、自己署名入りのサーバー証明書による暗号化が有効になります。 |
UID |
有効な SQL Server ログイン アカウント。Windows 認証を使用する場合は UID を指定する必要はありません。 |
UseProcForPrepare |
SQL Server Native Client ODBC ドライバーでは、このキーワードは推奨されず、設定は無視されます。 |
WSID |
ワークステーション ID。通常は、アプリケーションが実装されているコンピューターのネットワーク名です (省略可)。WSID を指定すると、その値は、master.dbo.sysprocesses テーブルの hostname 列に格納され、sp_who 関数および HOST_NAME 関数によって返されます。 |
注 |
---|
地域別の変換の設定は、通貨、数値、日付、および時刻のデータ型に適用されます。変換の設定は、出力変換にのみ適用され、通貨、数値、日付、または時刻の値を文字列に変換する場合にのみ確認することができます。 |
SQL Server Native Client ODBC ドライバーでは、現在のユーザーに関するロケールのレジストリ設定が使用されます。SetThreadLocale を呼び出す場合など、接続後にアプリケーションでロケールが設定されるときは、現在のスレッドのロケールは無視されます。
データ ソースの地域別の動作を変更すると、アプリケーション エラーが発生することがあります。日付文字列を解析し、ODBC の定義に従った形式の日付文字列を受け付けるアプリケーションが、地域別の動作の値を変更することによって、悪影響を受ける可能性があります。
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 接続文字列と共に使用できるキーワードを示します。
キーワード |
初期化プロパティ |
説明 |
---|---|---|
Application Name |
SSPROP_INIT_APPNAME |
アプリケーションを識別する文字列。 |
Auto Translate |
SSPROP_INIT_AUTOTRANSLATE |
"AutoTranslate" のシノニム。 |
AutoTranslate |
SSPROP_INIT_AUTOTRANSLATE |
OEM/ANSI 文字の変換を構成します。認識できる値は "true" と "false" です。 |
Connect Timeout |
DBPROP_INIT_TIMEOUT |
データ ソースの初期化が完了するのを待機する秒数。 |
Current Language |
SSPROPT_INIT_CURRENTLANGUAGE |
SQL Server 言語の名前。 |
Data Source |
DBPROP_INIT_DATASOURCE |
組織内の SQL Server インスタンスの名前。 指定されなかった場合は、ローカル コンピューター上にある既定のインスタンスに接続します。 有効なアドレス構文の詳細については、このトピック内にある Server ODBC キーワードに関する説明を参照してください。 |
DataTypeCompatibility |
SSPROP_INIT_DATATYPECOMPATIBILITY |
使用するデータ型処理モードを指定します。認識できる値は、プロバイダー データ型を示す "0" および SQL Server 2000 データ型を示す "80" です。 |
Failover Partner |
SSPROP_INIT_FAILOVERPARTNER |
データベース ミラーリングに使用するフェールオーバー サーバーの名前。 |
Failover Partner SPN |
SSPROP_INIT_FAILOVERPARTNERSPN |
フェールオーバー パートナーの SPN。既定値は空の文字列です。空の文字列の場合、SQL Server Native Client はプロバイダーが生成した SPN を既定値として使用します。 |
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 以降のサーバーの場合)。認識できる値は "true" と "false" です。既定値は "false" です。 |
Network Address |
SSPROP_INIT_NETWORKADDRESS |
組織内の SQL Server インスタンスのネットワーク アドレス。 有効なアドレス構文の詳細については、このトピック内にある Address ODBC キーワードに関する説明を参照してください。 |
Network Library |
SSPROP_INIT_NETWORKLIBRARY |
組織内の SQL Server インスタンスへの接続を確立するために使用するネットワーク ライブラリ。 |
Packet Size |
SSPROP_INIT_PACKETSIZE |
ネットワーク パケットのサイズ。既定値は 0 です。これは、サーバーで sp_configure 'network packet size' の設定に基づいてパケット サイズが構成されることを示します。 |
Password |
DBPROP_AUTH_PASSWORD |
SQL Server のログイン パスワード。 |
Persist Security Info |
DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO |
文字列 "true" と "false" を値として受け取ります。"false" の場合、データ ソース オブジェクトには機密の認証情報を保存できません。 |
Provider |
|
SQL Server Native Client の場合は "SQLNCLI10"。 |
Server SPN |
SSPROP_INIT_SERVERSPN |
サーバーの SPN。既定値は空の文字列です。空の文字列の場合、SQL Server Native Client はプロバイダーが生成した SPN を既定値として使用します。 |
Trust Server Certificate |
SSPROP_INIT_TRUST_SERVER_CERTIFICATE |
文字列 "true" と "false" を値として受け取ります。既定値は "false" です。これはサーバー証明書が検証されることを示します。 |
Use Encryption for Data |
SSPROP_INIT_ENCRYPT |
データをネットワークに送信する前に暗号化するかどうかを指定します。指定できる値は "true" と "false" です。既定値は "false" です。 |
User ID |
DBPROP_AUTH_USERID |
SQL Server のログイン名。 |
Workstation ID |
SSPROP_INIT_WSID |
ワークステーション ID。 |
注 接続文字列の "Old Password" プロパティは SSPROP_AUTH_OLD_PASSWORD に設定され、現在の (または期限切れの) パスワードが設定されます。このパスワードをプロバイダー文字列のプロパティ経由で使用することはできません。