SQLSetConnectAttr
SQL Server Native Client ODBC ドライバーは、SQL_ATTR_CONNECTION_TIMEOUTの設定を無視します。
SQL_ATTR_TRANSLATE_LIB も無視されます。他の変換ライブラリの指定はサポートされていません。 SQL Serverに Microsoft ODBC ドライバーを使用するようにアプリケーションを簡単に移植できるように、SQL_ATTR_TRANSLATE_LIBで設定された値は、ドライバー マネージャーのバッファーとの間でコピーされます。
SQL Server Native Client ODBC ドライバーは、反復可能な読み取りトランザクション分離をシリアル化可能として実装します。
SQL Server 2005 では、新しいトランザクション分離属性SQL_COPT_SS_TXN_ISOLATIONのサポートが導入されました。 SQL_COPT_SS_TXN_ISOLATION を SQL_TXN_SS_SNAPSHOT に設定すると、トランザクションがスナップショット分離レベルで実行されることが報告されます。
注意
SQL_ATTR_TXN_ISOLATION は、SQL_TXN_SS_SNAPSHOT 以外のすべての分離レベルを設定する場合に使用できます。 スナップショット分離を使用する場合は、SQL_COPT_SS_TXN_ISOLATION を使用して SQL_TXN_SS_SNAPSHOT を設定する必要があります。 ただし、スナップショット分離レベルは SQL_ATTR_TXN_ISOLATION または SQL_COPT_SS_TXN_ISOLATION のどちらを使用しても取得することはできます。
ODBC ステートメントの属性を接続属性に昇格すると、予期しない結果が生じることがあります。 結果セットの処理にサーバー カーソルを必要とするステートメント属性は、接続属性に昇格できます。 たとえば、ODBC ステートメント属性 SQL_ATTR_CONCURRENCY に既定値の SQL_CONCUR_READ_ONLY よりも制限の厳しい値を設定すると、ドライバーはその接続で送信されるすべてのステートメントに動的カーソルを使用します。 この接続から送信されるステートメントで ODBC カタログ関数を実行すると、SQL_SUCCESS_WITH_INFO とカーソルの動作が読み取り専用に変更されたことを示す診断レコードが返されます。 この接続で、COMPUTE 句を含む Transact-SQL の SELECT ステートメントを実行すると、ステートメントの実行に失敗します。
SQL Server Native Client ODBC ドライバーでは、sqlncli.h で定義されている ODBC 接続属性に対するドライバー固有の拡張機能が多数サポートされています。 SQL Server Native Client ODBC ドライバーでは、接続前に属性を設定する必要がある場合や、属性が既に設定されている場合は無視される場合があります。 次の表に、その制限事項を示します。
SQL Server の属性 | 設定タイミング (サーバーへの接続前または接続後) |
---|---|
SQL_COPT_SS_ANSI_NPW | 変更前 |
SQL_COPT_SS_APPLICATION_INTENT | 変更前 |
SQL_COPT_SS_ATTACHDBFILENAME | 変更前 |
SQL_COPT_SS_BCP | 変更前 |
SQL_COPT_SS_BROWSE_CONNECT | 変更前 |
SQL_COPT_SS_BROWSE_SERVER | 変更前 |
SQL_COPT_SS_CONCAT_NULL | 変更前 |
SQL_COPT_SS_CONNECTION_DEAD | クリック後 |
SQL_COPT_SS_ENCRYPT | 変更前 |
SQL_COPT_SS_ENLIST_IN_DTC | クリック後 |
SQL_COPT_SS_ENLIST_IN_XA | クリック後 |
SQL_COPT_SS_FALLBACK_CONNECT | 変更前 |
SQL_COPT_SS_FAILOVER_PARTNER | 変更前 |
SQL_COPT_SS_INTEGRATED_SECURITY | 変更前 |
SQL_COPT_SS_MARS_ENABLED | 変更前 |
SQL_COPT_SS_MULTISUBMIT_FAILOVER | 変更前 |
SQL_COPT_SS_OLDPWD | 変更前 |
SQL_COPT_SS_PERF_DATA | クリック後 |
SQL_COPT_SS_PERF_DATA_LOG | クリック後 |
SQL_COPT_SS_PERF_DATA_LOG_NOW | クリック後 |
SQL_COPT_SS_PERF_QUERY | クリック後 |
SQL_COPT_SS_PERF_QUERY_INTERVAL | クリック後 |
SQL_COPT_SS_PERF_QUERY_LOG | クリック後 |
SQL_COPT_SS_PRESERVE_CURSORS | 変更前 |
SQL_COPT_SS_QUOTED_IDENT | 接続前/接続後 |
SQL_COPT_SS_TRANSLATE | 接続前/接続後 |
SQL_COPT_SS_TRUST_SERVER_CERTIFICATE | 変更前 |
SQL_COPT_SS_TXN_ISOLATION | 接続前/接続後 |
SQL_COPT_SS_USE_PROC_FOR_PREP | 接続前/接続後 |
SQL_COPT_SS_USER_DATA | 接続前/接続後 |
SQL_COPT_SS_WARN_ON_CP_ERROR | 変更前 |
同じセッション、データベース、またはSQL Server状態に対して接続前属性と同等の Transact-SQL コマンドを使用すると、予期しない動作が発生する可能性があります。 たとえば、次のように入力します。
SQLSetConnectAttr(SQL_COPT_SS_QUOTED_IDENT, SQL_QI_ON) // turn ON via attribute
SQLDriverConnect(...);
SQLExecDirect("SET QUOTED_IDENTIFIER OFF") // turn OFF via Transact-SQL
SQLSetConnectAttr(SQL_ATTR_CURRENT_CATALOG, ...) // restores to pre-connect attribute value
SQL_COPT_SS_ANSI_NPW
SQL_COPT_SS_ANSI_NPW 属性は、比較や連結における NULL 値、文字データ型の埋め込み、および警告の処理に対して、ISO 標準の処理を有効または無効にします。 詳細については、「SET ANSI_NULLS」、「SET ANSI_PADDING」、「SET ANSI_WARNINGS」、および「SET CONCAT_NULL_YIELDS_NULL」を参照してください。
値 | 説明 |
---|---|
SQL_AD_ON | 既定値。 接続では、NULL 比較、埋め込み、警告、および NULL 連結に ANSI の既定動作が使用されます。 |
SQL_AD_OFF | 接続では、NULL、文字データ型の埋め込み、警告のSQL Server定義された処理が使用されます。 |
接続プールを使用する場合は、SQLSetConnectAttr ではなく、接続文字列でSQL_COPT_SS_ANSI_NPWを設定する必要があります。 接続プールを使用している場合、接続が確立された後にこの属性を変更しようとすると、何も通知されずに失敗します。
SQL_COPT_SS_APPLICATION_INTENT
アプリケーションがサーバーに接続するときのワークロードのタイプを宣言します。 設定可能な値は Readonly
および ReadWrite
です。 次に例を示します。
SQLSetConnectAttr(hdbc, SQL_COPT_SS_APPLICATION_INTENT, TEXT("Readonly"), SQL_NTS)
既定値は、ReadWrite
です。 Always On可用性グループ AG に対するSQL Server Native Clientのサポートの詳細については、「高可用性、ディザスター リカバリーのSQL Server Native Clientサポート」を参照してください。
SQL_COPT_SS_ATTACHDBFILENAME
SQL_COPT_SS_ATTACHDBFILENAME 属性は、アタッチ可能なデータベースのプライマリ ファイルの名前を指定します。 このデータベースがアタッチされ、接続の既定のデータベースとして使用されます。 SQL_COPT_SS_ATTACHDBFILENAMEを使用するには、接続属性SQL_ATTR_CURRENT_CATALOGの値として、または SQLDriverConnect の DATABASE = パラメーターにデータベースの名前を指定する必要があります。 データベースが以前にアタッチされていた場合、SQL Serverは再アタッチされません。
値 | 説明 |
---|---|
文字列への SQLPOINTER | この文字列には、アタッチするデータベースのプライマリ ファイル名を指定します。 ファイル名には、ファイルの完全なパスを含めます。 |
SQL_COPT_SS_BCP
SQL_COPT_SS_BCP 属性は、接続で一括コピー関数を有効にします。 詳細については、「 一括コピー関数」を参照してください。
値 | 説明 |
---|---|
SQL_BCP_OFF | 既定値。 接続では一括コピー関数を使用できません。 |
SQL_BCP_ON | 接続では一括コピー関数を使用できます。 |
SQL_COPT_SS_BROWSE_CONNECT
この属性は、 SQLBrowseConnect によって返される結果セットをカスタマイズするために使用されます。 SQL_COPT_SS_BROWSE_CONNECTは、SQL Serverの列挙インスタンスからの追加情報の返しを有効または無効にします。 この詳細情報には、サーバーがクラスター サーバーかどうか、さまざまなインスタンスの名前、およびバージョン番号などが含まれます。
値 | 説明 |
---|---|
SQL_MORE_INFO_NO | 既定値。 サーバーの一覧を返します。 |
SQL_MORE_INFO_YES | SQLBrowseConnect は、サーバー プロパティの拡張文字列を返します。 |
SQL_COPT_SS_BROWSE_SERVER
この属性は、 SQLBrowseConnect によって返される結果セットをカスタマイズするために使用されます。 SQL_COPT_SS_BROWSE_SERVERは、 SQLBrowseConnect が情報を返すサーバー名を指定します。
値 | 説明 |
---|---|
computername | SQLBrowseConnect は、指定したコンピューター上のSQL Serverのインスタンスの一覧を返します。 サーバー名には、円記号 (\\) を使用しないでください (たとえば、\\MyServer ではなく MyServer を使用する必要があります)。 |
NULL | 既定値。 SQLBrowseConnect は、ドメイン内のすべてのサーバーの情報を返します。 |
SQL_COPT_SS_CONCAT_NULL
SQL_COPT_SS_CONCAT_NULL 属性は、文字列を連結するときの NULL 処理に対して、ISO 標準の処理を有効または無効にします。 詳細については、「SET CONCAT_NULL_YIELDS_NULL」を参照してください。
値 | 説明 |
---|---|
SQL_CN_ON | 既定値。 接続では、文字列を連結するときの NULL の処理に対して、ISO の既定の動作を使用します。 |
SQL_CN_OFF | 接続では、文字列を連結するときに NULL 値を処理するためにSQL Server定義された動作が使用されます。 |
SQL_COPT_SS_ENCRYPT
接続の暗号化を制御します。
暗号化にはサーバー上の証明書が使用されます。 接続属性 SQL_COPT_SS_TRUST_SERVER_CERTIFICATE が SQL_TRUST_SERVER_CERTIFICATE_YES に設定されるか、接続文字列に "TrustServerCertificate=yes" が含まれていない限り、この証明書は証明機関によって検証される必要があります。 この両方の条件を満たしている場合、サーバー上に証明書が存在しなければ、そのサーバーによって生成および署名された証明書を使用して、接続を暗号化できます。
値 | 説明 |
---|---|
SQL_EN_ON | 接続が暗号化されます。 |
SQL_EN_OFF | 接続は暗号化されません。 既定値です。 |
SQL_COPT_SS_ENLIST_IN_DTC
クライアントは、Microsoft 分散トランザクション コーディネーター (MS DTC) OLE DB ITransactionDispenser::BeginTransaction メソッドを呼び出して MS DTC トランザクションを開始し、トランザクションを表す MS DTC トランザクション オブジェクトを作成します。 その後、アプリケーションは SQL_COPT_SS_ENLIST_IN_DTC オプションを使用して を呼び出 SQLSetConnectAttr
して、トランザクション オブジェクトを ODBC 接続に関連付けます。 関連のあるすべてのデータベース操作は、MS DTC トランザクションで保護されます。 アプリケーションは SQL_DTC_DONE を使用して を呼び出 SQLSetConnectAttr
して、接続の DTC 関連付けを終了します。
値 | 説明 |
---|---|
DTC object* | SQL Serverにエクスポートするトランザクションを指定する MS DTC OLE トランザクション オブジェクト。 |
SQL_DTC_DONE | トランザクションの末尾を区切ります。 |
SQL_COPT_SS_ENLIST_IN_XA
XA 準拠トランザクション プロセッサ (TP) で XA トランザクションを開始するには、クライアントは Open Group tx_begin 関数を呼び出します。 その後、アプリケーションは TRUE のSQL_COPT_SS_ENLIST_IN_XA パラメーターを使用して を呼び出 SQLSetConnectAttr
して、XA トランザクションを ODBC 接続に関連付けます。 関連のあるすべてのデータベース操作は、XA トランザクションで保護されます。 ODBC 接続との XA 関連付けを終了するには、クライアントは SQL_COPT_SS_ENLIST_IN_XA パラメーター FALSE を指定して を呼び出す SQLSetConnectAttr
必要があります。 詳細については、分散トランザクション コーディネーターのマニュアルを参照してください。
SQL_COPT_SS_FALLBACK_CONNECT
この属性は現在サポートされていません。
SQL_COPT_SS_FAILOVER_PARTNER
SQL Serverでのデータベース ミラーリングに使用されるフェールオーバー パートナーの名前を指定または取得するために使用されます。これは、SQL Serverへの接続が最初に行われる前に設定する必要がある null で終わる文字列です。
接続後、アプリケーションは SQLGetConnectAttr を使用してこの属性に対してクエリを実行して、フェールオーバー パートナーの ID を確認できます。 プライマリ サーバーのフェールオーバー パートナーが存在しないと、この属性は空文字列を返します。 アプリケーションでは最後に判別したバックアップ サーバーをキャッシュできますが、この情報は最初に接続を確立したとき、または接続がリセットされたとき (接続がプールされている場合) にだけ更新されることに注意する必要があります。接続が長期にわたると、この情報は古くなることがあります。
詳細については、「データベース ミラーリングの使用」を参照してください。
SQL_COPT_SS_INTEGRATED_SECURITY
SQL_COPT_SS_INTEGRATED_SECURITY 属性は、サーバー ログインでアクセス違反を検出するために Windows 認証を使用することを強制します。 Windows 認証を使用すると、ドライバーは、SQLConnect、SQLDriverConnect、または SQLBrowseConnect 処理の一部として指定されたユーザー識別子とパスワードの値を無視します。
値 | 説明 |
---|---|
SQL_IS_OFF | 既定値。 SQL Server認証は、ログイン時にユーザー識別子とパスワードを検証するために使用されます。 |
SQL_IS_ON | Windows 認証モードは、SQL Serverに対するユーザーのアクセス権を検証するために使用されます。 |
SQL_COPT_SS_MARS_ENABLED
この属性は、複数のアクティブな結果セット (MARS) を有効または無効にします。 既定では、MARS は無効になっています。 この属性は、SQL Serverへの接続を確立する前に設定する必要があります。 接続SQL Serverが開かれると、MARS は接続の有効期間中有効または無効のままになります。
値 | 説明 |
---|---|
SQL_MARS_ENABLED_NO | 既定値。 複数のアクティブな結果セット (MARS) を無効にします。 |
SQL_MARS_ENABLED_YES | MARS を有効にします。 |
MARS の詳細については、「 複数のアクティブな結果セット (MARS) の使用」を参照してください。
SQL_COPT_SS_MULTISUBNET_FAILOVER
アプリケーションが異なるサブネット上のAlways On可用性グループ可用性グループ (AG) に接続している場合、この接続プロパティは、(現在) アクティブなサーバーの検出と接続を高速化するようにSQL Server Native Clientを構成します。 次に例を示します。
SQLSetConnectAttr(hdbc, SQL_COPT_SS_MULTISUBMIT_FAILOVER, SQL_IS_ON, SQL_IS_INTEGER)
Always On可用性グループ AG に対するSQL Server Native Clientのサポートの詳細については、「高可用性、ディザスター リカバリーのSQL Server Native Clientサポート」を参照してください。
値 | 説明 |
---|---|
SQL_IS_ON | SQL Server Native Clientフェールオーバーが発生した場合の再接続が高速化されます。 |
SQL_IS_OFF | フェールオーバーが発生した場合、SQL Server Native Clientにより高速な再接続は提供されません。 |
SQL_COPT_SS_OLDPWD
SQL Server 2005 では、SQL Server 認証におけるパスワードの期限切れが導入されました。 クライアントから接続の古いパスワードと新しいパスワードの両方を提供できるようにするために、SQL_COPT_SS_OLDPWD 属性が追加されました。 この属性が設定されている場合、接続文字列には変更された "古いパスワード" が含まれているので、プロバイダーは最初の接続またはそれ以降の接続で接続プールを使用しません。
詳細については、「プログラムによるパスワードの変更」を参照してください。
値 | 説明 |
---|---|
SQL_COPT_SS_OLD_PASSWORD | 古いパスワードを含む文字列への SQLPOINTER。 この値は書き込み専用で、サーバーへの接続を確立する前に設定する必要があります。 |
SQL_COPT_SS_PERF_DATA
SQL_COPT_SS_PERF_DATA 属性は、パフォーマンス データのログ記録を開始または停止します。 データのログ ファイル名は、データのログ記録を開始する前に設定する必要があります。 詳細については、次の「SQL_COPT_SS_PERF_DATA_LOG」を参照してください。
値 | 説明 |
---|---|
SQL_PERF_START | ドライバーのパフォーマンス データのサンプリングを開始します。 |
SQL_PERF_STOP | パフォーマンス データのサンプリングのカウンターを停止します。 |
詳細については、「 SQLGetConnectAttr」を参照してください。
SQL_COPT_SS_PERF_DATA_LOG
SQL_COPT_SS_PERF_DATA_LOG 属性は、パフォーマンス データの記録に使用するログ ファイル名を割り当てます。 ログ ファイル名は、アプリケーションのコンパイル方法に応じて、ANSI または Unicode 形式の、NULL で終わる文字列になります。 StringLength 引数はSQL_NTSする必要があります。
SQL_COPT_SS_PERF_DATA_LOG_NOW
SQL_COPT_SS_PERF_DATA_LOG_NOW 属性は、ドライバーに対して、統計ログのエントリをディスクに書き込むように指定します。 StringLength 引数はSQL_NTSする必要があります。
SQL_COPT_SS_PERF_QUERY
SQL_COPT_SS_PERF_QUERY 属性は、実行時間の長いクエリ用のログ記録を開始または停止します。 クエリのログ ファイル名は、ログ記録を開始する前に指定する必要があります。 アプリケーションでは、ログ記録の間隔を設定して "実行時間の長いクエリ" を定義できます。
値 | 説明 |
---|---|
SQL_PERF_START | 実行時間の長いクエリのログ記録を開始します。 |
SQL_PERF_STOP | 実行時間の長いクエリのログ記録を停止します。 |
詳細については、「 SQLGetConnectAttr」を参照してください。
SQL_COPT_SS_PERF_QUERY_INTERVAL
SQL_COPT_SS_PERF_QUERY_INTERVAL 属性は、クエリのログ記録のしきい値をミリ秒単位で設定します。 指定のしきい値内に解決しないクエリは、実行時間の長いクエリのログ ファイルに記録されます。 クエリのしきい値に上限はありません。 クエリのしきい値に値 0 が設定されている場合、すべてのクエリがログに記録されます。
SQL_COPT_SS_PERF_QUERY_LOG
SQL_COPT_SS_PERF_QUERY_LOG 属性は、実行時間の長いクエリのデータを記録するログ ファイル名を割り当てます。 ログ ファイル名は、アプリケーションのコンパイル方法に応じて、ANSI または Unicode 形式の、NULL で終わる文字列になります。 StringLength 引数は、SQL_NTSするか、文字列の長さをバイト単位で指定する必要があります。
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 Server Native Client ODBC ドライバーは、識別子に空白文字を含む "My Table" などの無効なオブジェクト名を許可します。 詳細については、「SET QUOTED_IDENTIFIER」を参照してください。
値 | 説明 |
---|---|
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_XL_ON | 既定値。 ドライバーでは、クライアントとサーバー間で文字データを交換する際に、あるコード ページから別のコード ページに文字が変換されます。 サーバーにインストールされているコード ページとクライアントで使用されているコード ページが判別され、文字の変換が自動的に構成されます。 |
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_TXN_ISOLATION
SQL_COPT_SS_TXN_ISOLATIONは、SQL Server固有のスナップショット分離属性を設定します。 値がSQL Server固有であるため、SQL_ATTR_TXN_ISOLATIONを使用してスナップショットの分離を設定することはできません。 ただし、この値は、SQL_ATTR_TXN_ISOLATION または SQL_COPT_SS_TXN_ISOLATION のどちらを使用しても取得することはできます。
値 | 説明 |
---|---|
SQL_TXN_SS_SNAPSHOT | あるトランザクションで行った変更内容を別のトランザクションから参照できないことを示します。この場合、クエリを再実行しても変更内容を参照することはできません。 |
スナップショット分離の詳細については、「スナップショット分離の使用」を参照してください。
SQL_COPT_SS_USE_PROC_FOR_PREP
この属性は現在サポートされていません。
SQL_COPT_SS_USER_DATA
SQL_COPT_SS_USER_DATA 属性は、ユーザー データのポインターを設定します。 ユーザー データとは、接続ごとに記録されているクライアントが所有するメモリのことです。
詳細については、「 SQLGetConnectAttr」を参照してください。
SQL_COPT_SS_WARN_ON_CP_ERROR
この属性は、コード ページの変換中に損失したデータがある場合に警告を表示するかどうかを指定します。 これは、サーバーから送信されるデータにのみ適用されます。
値 | 説明 |
---|---|
SQL_WARN_YES | コード ページの変換中にデータの損失が発生した場合に、警告を表示します。 |
SQL_WARN_NO | (既定値) コード ページの変換中にデータの損失が発生した場合に、警告を表示しません。 |
SQLSetConnectAttr によるサービス プリンシパル名 (SPN) のサポート
SQLSetConnectAttr を使用して、SQL_COPT_SS_SERVER_SPNおよびSQL_COPT_SS_FAILOVER_PARTNER_SPNの新しい接続属性の値を設定できます。 接続が開いている場合、これらの属性を設定することはできません。接続が開いているときにこれらの属性を設定しようとすると、"現時点での操作は正しくありません。" というメッセージと共に、エラー HY011 が返されます (SQLSetConnectOption を使用してこれらの値を設定することもできます)。
SPN の詳細については、「 クライアント接続 (ODBC)」の「サービス プリンシパル名 (SPN)」を参照してください。
SQL_COPT_SS_CONNECTION_DEAD
これは読み取り専用属性です。
SQL_COPT_SS_CONNECTION_DEADの詳細については、「 SQLGetConnectAttr 」および「 データ ソースへの接続 (ODBC)」を参照してください。
例
次の例では、パフォーマンス データがログに記録されます。
SQLPERF* pSQLPERF;
SQLINTEGER nValue;
// See if you are already logging. SQLPERF* will be NULL if not.
SQLGetConnectAttr(hDbc, SQL_COPT_SS_PERF_DATA, &pSQLPERF,
sizeof(SQLPERF*), &nValue);
if (pSQLPERF == NULL)
{
// Set the performance log file name.
SQLSetConnectAttr(hDbc, SQL_COPT_SS_PERF_DATA_LOG,
(SQLPOINTER) "\\My LogDirectory\\MyServerLog.txt", SQL_NTS);
// Start logging...
SQLSetConnectAttr(hDbc, SQL_COPT_SS_PERF_DATA,
(SQLPOINTER) SQL_PERF_START, SQL_IS_INTEGER);
}
else
{
// Take a snapshot now so that your performance statistics are discernible.
SQLSetConnectAttr(hDbc, SQL_COPT_SS_PERF_DATA_LOG_NOW, NULL, 0);
}
// ...perform some action...
// ...take a performance data snapshot...
SQLSetConnectAttr(hDbc, SQL_COPT_SS_PERF_DATA_LOG_NOW, NULL, 0);
// ...perform more actions...
// ...take another snapshot...
SQLSetConnectAttr(hDbc, SQL_COPT_SS_PERF_DATA_LOG_NOW, NULL, 0);
// ...and disable logging.
SQLSetConnectAttr(hDbc, SQL_COPT_SS_PERF_DATA,
(SQLPOINTER) SQL_PERF_STOP, SQL_IS_INTEGER);
// Continue on...
参照
SQLSetConnectAttr 関数
ODBC API 実装の詳細
一括コピー関数
SET ANSI_NULLS (Transact-SQL)
SET ANSI_PADDING (Transact-SQL)
SET ANSI_WARNINGS (Transact-SQL)
SET CONCAT_NULL_YIELDS_NULL (Transact-SQL)
SET QUOTED_IDENTIFIER (Transact-SQL)
SQLPrepare 関数
SQLGetInfo