SQLGetConnectAttr
SQL Native Client ODBC ドライバでは、ドライバ固有の接続属性が定義されます。SQLGetConnectAttr 関数では、このような属性のいくつかを使用できるので、この関数を使用してこれらの属性に関する現在の設定を報告できます。接続が成功するまで、または SQLSetConnectAttr を使用して属性が設定されるまで、これらの属性について報告される値は保証されません。
SQL_COPT_SS_ANSI_NPW
SQL_COPT_SS_ANSI_NPW 属性では、NULL 比較、文字データ型の埋め込み、警告レベル、および NULL 連結における ANSI 処理の使用を有効または無効にできます。詳細については、「SET ANSI_NULLS」、「SET ANSI_PADDING」、「SET ANSI_WARNINGS」、および「SET CONCAT_NULL_YIELDS_NULL」を参照してください。
値 | 説明 |
---|---|
SQL_AD_ON |
既定値。接続では、NULL 比較、埋め込み、警告、および NULL 連結に ANSI の既定動作が使用されます。 |
SQL_AD_OFF |
接続では、NULL 比較、文字データ型の埋め込み、警告、および NULL 連結に SQL Server で定義された処理が使用されます。 |
SQL_COPT_SS_CONNECTION_DEAD
SQL_COPT_SS_CONNECTION_DEAD 属性では、サーバーへの接続状態が報告されます。ドライバでは、接続の現在状態を Net-Library に照会します。
値 | 説明 |
---|---|
SQL_CD_TRUE |
サーバーへの接続が失われました。 |
SQL_CD_FALSE |
接続が開かれており、ステートメントの処理に使用できます。 |
SQL_COPT_SS_FAILOVER_PARTNER
SQL_COPT_SS_FAILOVER_PARTNER 属性を使用して、SQL Server 2005 でデータベース ミラーリングに使用されるフェールオーバー パートナーの名前を取得します。この属性に設定する文字列は NULL で終わり、SQL Server に最初に接続する前に SQLSetConnectAttr を使用して設定しておく必要があります。
接続後は、アプリケーションでこの属性を照会することにより、フェールオーバー パートナーの ID を判別できます。プライマリ サーバーのフェールオーバー パートナーが存在しないと、この属性は空文字列を返します。アプリケーションでは最後に判別したバックアップ サーバーをキャッシュできますが、この情報は最初に接続を確立したとき、または接続がリセットされたとき (接続がプールされている場合) にだけ更新されることに注意する必要があります。接続が長期にわたると、この情報は古くなることがあります。
SQL_COPT_SS_PERF_DATA
SQL_COPT_SS_PERF_DATA 属性は、現在のドライバのパフォーマンス統計情報を保持する SQLPERF 構造体へのポインタを返します。SQLGetConnectAttr では、パフォーマンスのログ記録が無効の場合は NULL を返します。SQLPERF 構造体内の統計情報がドライバで動的に更新されることはありません。パフォーマンス統計情報の更新が必要になるたびに SQLGetConnectAttr を呼び出してください。
値 | 説明 |
---|---|
NULL |
パフォーマンスのログ記録が無効です。 |
その他の値 |
SQLPERF 構造体へのポインタ。 |
SQL_COPT_SS_PERF_QUERY
SQL_COPT_SS_PERF_QUERY 属性は、実行時間の長いクエリのログ記録が有効の場合に TRUE を返します。クエリのログ記録が無効の場合は FALSE を返します。
SQL_COPT_SS_PRESERVE_CURSORS
この属性を使用して、トランザクションをコミットまたはロールバックするときに接続でカーソルを保持するかどうかを照会および設定できます。設定値は、SQL_PC_ON または SQL_PC_OFF です。既定値は SQL_PC_OFF です。この設定は、SQLEndTran (または SQLTransact) を呼び出すときにドライバによってカーソルを閉じるかどうかを制御します。
値 | 説明 |
---|---|
SQL_PC_OFF |
既定値。トランザクションを SQLEndTran を使用してコミットまたはロールバックすると、カーソルが閉じられます。 |
SQL_PC_ON |
トランザクションを SQLEndTran を使用してコミットまたはロールバックしてもカーソルは閉じられません。ただし、非同期モードで静的カーソルまたはキーセット カーソルを使用している場合は除きます。カーソルのデータ設定が完了していないときにロールバックが行われると、そのカーソルは閉じられます。 |
SQL_COPT_SS_QUOTED_IDENT
SQL_COPT_SS_QUOTED_IDENT 属性を使用すると、その接続で送信される ODBC ステートメントや Transact-SQL ステートメントで、引用符で囲まれた識別子を指定できます。引用符で囲まれた識別子を指定することにより、SQL Native Client ODBC ドライバで "My Table" のように識別子に空白が含まれている無効なオブジェクト名でも使用できます。
値 | 説明 |
---|---|
SQL_QI_OFF |
SQL Server 接続では、送信される Transact-SQL ステートメントで、引用符で囲まれた識別子を指定できません。 |
SQL_QI_ON |
既定値。接続では、送信される Transact-SQL ステートメントで、引用符で囲まれた識別子を使用できます。 |
SQL_COPT_SS_TRANSLATE
SQL_COPT_SS_TRANSLATE 属性では、MBCS データを交換するときの文字の変換が制御されます。この属性は、SQL Server の char 列、varchar 列、および text 列に格納されたデータのみに影響します。
値 | 説明 |
---|---|
SQL_XL_OFF |
SQL Native Client ODBC ドライバでは、クライアントとサーバー間で文字データを交換する際に、あるコード ページから別のコード ページに文字が変換されません。 |
SQL_XL_ON |
既定値。SQL Native Client ODBC ドライバでは、クライアントとサーバー間で文字データを交換する際に、あるコード ページから別のコード ページに文字が変換されます。SQL Native Client ODBC ドライバでは、サーバーにインストールされているコード ページとクライアントで使用されているコード ページが判別され、文字の変換が自動的に構成されます。 |
SQL_COPT_SS_TRUST_SERVER_CERTIFICATE
SQL_COPT_SS_TRUST_SERVER_CERTIFICATE 属性では、暗号化を使用しているときに、ドライバによる証明書の検証を有効または無効にできます。この属性の値は読み書き可能ですが、接続を確立した後に値を設定しても、設定は有効にはなりません。
クライアント アプリケーションでは、接続を開いた後にこの属性を照会して、実際に使用されている暗号化と検証の設定を判断できます。
値 | 説明 |
---|---|
SQL_TRUST_SERVER_CERTIFICATE_NO |
既定値。証明書の検証を伴わない暗号化が無効です。 |
SQL_TRUST_SERVER_CERTIFICATE_YES |
証明書の検証を伴わない暗号化が有効です。 |
SQL_COPT_SS_USE_PROC_FOR_PREP
SQL Native Client では SQL Server 6.5 への接続がサポートされないので、SQL_COPT_SS_USE_PROC_FOR_PREP 属性はサポートされなくなりました。
SQL_COPT_SS_USER_DATA
SQL_COPT_SS_USER_DATA 属性は、ユーザー データ ポインタを取得します。ユーザー データはクライアントのメモリに格納され、接続ごとに記録されます。ユーザー データ ポインタが設定されていない場合、SQL_UD_NOTSET という NULL ポインタが返されます。
値 | 説明 |
---|---|
SQL_UD_NOTSET |
ユーザー データ ポインタが設定されていません。 |
その他の値 |
ユーザー データへのポインタです。 |
参照
概念
その他の技術情報
区切られた識別子 (データベース エンジン)
SET ANSI_NULLS (Transact-SQL)
SET ANSI_PADDING (Transact-SQL)
SET ANSI_WARNINGS (Transact-SQL)
SQLGetConnectAttr 関数