次の方法で共有


SQLGetConnectAttr

適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

SQL Server Native Client ODBC ドライバーは、ドライバー固有の接続属性を定義します。 一部の属性は SQLGetConnectAttrで使用でき、関数は現在の設定を報告するために使用されます。 これらの属性に対して報告される値は、接続が確立されるか、SQLSetConnectAttr を使用して属性が設定されるまで保証されません。

ここでは、読み取り専用の属性を示します。 他の SQL Server Native Client ODBC ドライバー固有の接続属性については、「 SQLSetConnectAttrを参照してください。

SQL_COPT_SS_CONNECTION_DEAD

SQL_COPT_SS_CONNECTION_DEAD 属性では、サーバーへの接続状態が報告されます。 ドライバーは、接続の現在の状態をネットワークにクエリします。

Note

標準の ODBC 接続属性 SQL_ATTR_CONNECTION_DEAD は、接続の最新の状態を返します。 これは現在の接続状態と異なる場合があります。

Value 説明
SQL_CD_TRUE サーバーへの接続が失われました。
SQL_CD_FALSE 接続が開かれており、ステートメントの処理に使用できます。

SQL_COPT_SS_CLIENT_CONNECTION_ID

SQL_COPT_SS_CLIENT_CONNECTION_ID 属性は、クライアント接続 ID を取得します。この ID を使用すると、次の情報を検索できます。

  • XEvent ログの診断情報 (有効な場合)。

  • 接続リング バッファーの接続エラー情報。

  • データ アクセスのトレース ログの診断情報 (有効な場合)。

詳細については、「 拡張イベント ログの診断情報へのアクセスを参照してください。

Value 説明
SQL_ERROR 接続に失敗しました。
SQL_SUCCESS 接続に成功しました。 クライアント接続 ID は出力バッファーで見つかります。

SQL_COPT_SS_PERF_DATA

SQL_COPT_SS_PERF_DATA 属性は、現在のドライバーのパフォーマンス統計情報を保持する SQLPERF 構造体へのポインターを返します。 SQLGetConnectAttr は、パフォーマンス ログが有効になっていない場合に NULL を返します。 SQLPERF 構造体内の統計情報がドライバーで動的に更新されることはありません。 パフォーマンス統計 更新する必要があるたびに SQLGetConnectAttr を呼び出します。

Value Description
NULL パフォーマンスのログ記録が無効です。
その他の値 SQLPERF 構造体へのポインター。

SQL_COPT_SS_PERF_QUERY

SQL_COPT_SS_PERF_QUERY 属性は、実行時間の長いクエリのログ記録が有効の場合に TRUE を返します。 クエリのログ記録が無効の場合は FALSE を返します。

SQL_COPT_SS_USER_DATA

SQL_COPT_SS_USER_DATA 属性は、ユーザー データ ポインターを取得します。 ユーザー データはクライアントのメモリに格納され、接続ごとに記録されます。 ユーザー データ ポインターが設定されていない場合、SQL_UD_NOTSET という NULL ポインターが返されます。

Value 説明
SQL_UD_NOTSET ユーザー データ ポインターが設定されていません。
その他の値 ユーザー データへのポインターです。

SQLGetConnectAttr によるサービス プリンシパル名 (SPN) のサポート

SQLGetConnectAttr を使用して、SQL_COPT_SS_SERVER_SPN、SQL_COPT_SS_FAILOVER_PARTNER_SPN、SQL_COPT_SS_MUTUALLY_AUTHENTICATED、SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHODの新しい接続属性の値を照会できます。 (SQLGetConnectOption を使用して、これらの値のクエリを実行することもできます)。

SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD は、Windows 認証を使用する、開いている接続でのみ使用できます。

SQL_COPT_SS_SERVER_SPN または SQL_COPT_SS_FAILOVER_PARTNER が設定されていない場合は、既定値 (空の文字列) が返されます。

SPN の詳細については、「クライアント接続 (ODBC)の「Service Principal Names (SPN)」を参照してください。

参照

SQLGetConnectAttr 関数
ODBC API 実装の詳細
SET QUOTED_IDENTIFIER (Transact-SQL)
SET ANSI_NULLS (Transact-SQL)
SET ANSI_PADDING (Transact-SQL)
SET ANSI_WARNINGS (Transact-SQL)