SQLSetConnectAttrSQLSetConnectAttr

適用対象: ○SQL Server ○Azure SQL Database ○Azure SQL Data Warehouse ○Parallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

SQL ServerSQL Server Native Client ODBC ドライバーでは、SQL_ATTR_CONNECTION_TIMEOUT の設定が無視されます。The SQL ServerSQL Server Native Client ODBC driver ignores the setting of SQL_ATTR_CONNECTION_TIMEOUT.

SQL_ATTR_TRANSLATE_LIB も無視されます。他の変換ライブラリの指定はサポートされていません。SQL_ATTR_TRANSLATE_LIB is also ignored; specifying another translation library is not supported. Microsoft ODBC driver for SQL ServerSQL Server を使用するように、アプリケーションを簡単に移植できるようにするには、SQL_ATTR_TRANSLATE_LIB で設定される値をドライバー マネージャーのバッファーにコピーしたり、そこからコピーしたりするようにします。To allow applications to easily be ported to use a Microsoft ODBC driver for SQL ServerSQL Server, any value set with SQL_ATTR_TRANSLATE_LIB will be copied into and out of a buffer in the Driver Manager.

SQL ServerSQL Server Native Client ODBC ドライバーでは、REPEATABLE READ トランザクション分離レベルが SERIALIZABLE として実装されます。The SQL ServerSQL Server Native Client ODBC driver implements repeatable read transaction isolation as serializable.

SQL Server 2005 (9.x)SQL Server 2005 (9.x) で、新しいトランザクション分離レベル属性 SQL_COPT_SS_TXN_ISOLATION のサポートが導入されました。introduced support for a new transaction isolation attribute, SQL_COPT_SS_TXN_ISOLATION. SQL_COPT_SS_TXN_ISOLATION を SQL_TXN_SS_SNAPSHOT に設定すると、トランザクションがスナップショット分離レベルで実行されることが報告されます。Setting SQL_COPT_SS_TXN_ISOLATION to SQL_TXN_SS_SNAPSHOT indicates that the transaction will take place under the snapshot isolation level.

注意

SQL_ATTR_TXN_ISOLATION は、SQL_TXN_SS_SNAPSHOT 以外のすべての分離レベルを設定する場合に使用できます。SQL_ATTR_TXN_ISOLATION can be used to set all other isolation levels except for SQL_TXN_SS_SNAPSHOT. スナップショット分離を使用する場合は、SQL_COPT_SS_TXN_ISOLATION を使用して SQL_TXN_SS_SNAPSHOT を設定する必要があります。If you want to use snapshot isolation, you must set SQL_TXN_SS_SNAPSHOT through SQL_COPT_SS_TXN_ISOLATION. ただし、スナップショット分離レベルは SQL_ATTR_TXN_ISOLATION または SQL_COPT_SS_TXN_ISOLATION のどちらを使用しても取得することはできます。However, you can retrieve the isolation level by using either SQL_ATTR_TXN_ISOLATION or SQL_COPT_SS_TXN_ISOLATION.

ODBC ステートメントの属性を接続属性に昇格すると、予期しない結果が生じることがあります。Promoting ODBC statement attributes to connection attributes can have unintended consequences. 結果セットの処理にサーバー カーソルを必要とするステートメント属性は、接続属性に昇格できます。Statement attributes that request server cursors for result set processing can be promoted to the connection. たとえば、ODBC ステートメント属性 SQL_ATTR_CONCURRENCY に既定値の SQL_CONCUR_READ_ONLY よりも制限の厳しい値を設定すると、ドライバーはその接続で送信されるすべてのステートメントに動的カーソルを使用します。For example, setting the ODBC statement attribute SQL_ATTR_CONCURRENCY to a value more restrictive than the default SQL_CONCUR_READ_ONLY directs the driver to use dynamic cursors for all statements submitted on the connection. この接続から送信されるステートメントで ODBC カタログ関数を実行すると、SQL_SUCCESS_WITH_INFO とカーソルの動作が読み取り専用に変更されたことを示す診断レコードが返されます。Executing an ODBC catalog function on a statement on the connection returns SQL_SUCCESS_WITH_INFO and a diagnostic record indicating that the cursor behavior has been changed to read-only. この接続で、COMPUTE 句を含む Transact-SQL の SELECT ステートメントを実行すると、ステートメントの実行に失敗します。Attempting to execute a Transact-SQL SELECT statement containing a COMPUTE clause on the same connection fails.

SQL ServerSQL Server Native Client ODBC ドライバーでは、sqlncli.h で定義されているドライバー固有の ODBC 接続属性の拡張機能が多数サポートされています。The SQL ServerSQL Server Native Client ODBC driver supports a number of driver-specific extensions to ODBC connection attributes defined in sqlncli.h. SQL ServerSQL Server Native Client ODBC ドライバーが、接続前に属性を設定しておくことを必要とする場合や、既に設定されている属性に対する新たな設定を無視する場合があります。The SQL ServerSQL Server Native Client ODBC driver may require that the attribute be set prior to connection, or it may ignore the attribute if it is already set. 次の表に、その制限事項を示します。The following table lists restrictions.

SQL Server の属性SQL Server attribute 設定タイミング (サーバーへの接続前または接続後)Set before or after connection to server
SQL_COPT_SS_ANSI_NPWSQL_COPT_SS_ANSI_NPW [指定日付より前]Before
SQL_COPT_SS_APPLICATION_INTENTSQL_COPT_SS_APPLICATION_INTENT [指定日付より前]Before
SQL_COPT_SS_ATTACHDBFILENAMESQL_COPT_SS_ATTACHDBFILENAME [指定日付より前]Before
SQL_COPT_SS_BCPSQL_COPT_SS_BCP [指定日付より前]Before
SQL_COPT_SS_BROWSE_CONNECTSQL_COPT_SS_BROWSE_CONNECT [指定日付より前]Before
SQL_COPT_SS_BROWSE_SERVERSQL_COPT_SS_BROWSE_SERVER [指定日付より前]Before
SQL_COPT_SS_CONCAT_NULLSQL_COPT_SS_CONCAT_NULL [指定日付より前]Before
SQL_COPT_SS_CONNECTION_DEADSQL_COPT_SS_CONNECTION_DEAD AfterAfter
SQL_COPT_SS_ENCRYPTSQL_COPT_SS_ENCRYPT [指定日付より前]Before
SQL_COPT_SS_ENLIST_IN_DTCSQL_COPT_SS_ENLIST_IN_DTC AfterAfter
SQL_COPT_SS_ENLIST_IN_XASQL_COPT_SS_ENLIST_IN_XA AfterAfter
SQL_COPT_SS_FALLBACK_CONNECTSQL_COPT_SS_FALLBACK_CONNECT [指定日付より前]Before
SQL_COPT_SS_FAILOVER_PARTNERSQL_COPT_SS_FAILOVER_PARTNER [指定日付より前]Before
SQL_COPT_SS_INTEGRATED_SECURITYSQL_COPT_SS_INTEGRATED_SECURITY [指定日付より前]Before
SQL_COPT_SS_MARS_ENABLEDSQL_COPT_SS_MARS_ENABLED [指定日付より前]Before
SQL_COPT_SS_MULTISUBNET_FAILOVERSQL_COPT_SS_MULTISUBNET_FAILOVER [指定日付より前]Before
SQL_COPT_SS_OLDPWDSQL_COPT_SS_OLDPWD [指定日付より前]Before
SQL_COPT_SS_PERF_DATASQL_COPT_SS_PERF_DATA AfterAfter
SQL_COPT_SS_PERF_DATA_LOGSQL_COPT_SS_PERF_DATA_LOG AfterAfter
SQL_COPT_SS_PERF_DATA_LOG_NOWSQL_COPT_SS_PERF_DATA_LOG_NOW AfterAfter
SQL_COPT_SS_PERF_QUERYSQL_COPT_SS_PERF_QUERY AfterAfter
SQL_COPT_SS_PERF_QUERY_INTERVALSQL_COPT_SS_PERF_QUERY_INTERVAL AfterAfter
SQL_COPT_SS_PERF_QUERY_LOGSQL_COPT_SS_PERF_QUERY_LOG AfterAfter
SQL_COPT_SS_PRESERVE_CURSORSSQL_COPT_SS_PRESERVE_CURSORS [指定日付より前]Before
SQL_COPT_SS_QUOTED_IDENTSQL_COPT_SS_QUOTED_IDENT 接続前/接続後Either
SQL_COPT_SS_TRANSLATESQL_COPT_SS_TRANSLATE 接続前/接続後Either
SQL_COPT_SS_TRUST_SERVER_CERTIFICATESQL_COPT_SS_TRUST_SERVER_CERTIFICATE [指定日付より前]Before
SQL_COPT_SS_TXN_ISOLATIONSQL_COPT_SS_TXN_ISOLATION 接続前/接続後Either
SQL_COPT_SS_USE_PROC_FOR_PREPSQL_COPT_SS_USE_PROC_FOR_PREP 接続前/接続後Either
SQL_COPT_SS_USER_DATASQL_COPT_SS_USER_DATA 接続前/接続後Either
SQL_COPT_SS_WARN_ON_CP_ERRORSQL_COPT_SS_WARN_ON_CP_ERROR [指定日付より前]Before

同じセッション、データベース、または Transact-SQLTransact-SQL の状態に対して接続前の属性および同等の SQL ServerSQL Server コマンドを使用すると、予期しない動作が発生する場合があります。Using a pre-connection attribute and the equivalent Transact-SQLTransact-SQL command for the same session, database, or SQL ServerSQL Server state can produce unexpected behavior. 例えば以下のようにします。For example,

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_NPWSQL_COPT_SS_ANSI_NPW

SQL_COPT_SS_ANSI_NPW 属性は、比較や連結における NULL 値、文字データ型の埋め込み、および警告の処理に対して、ISO 標準の処理を有効または無効にします。SQL_COPT_SS_ANSI_NPW enables or disables the use of ISO handling of NULL in comparisons and concatenation, character data type padding, and warnings. 詳細については、「SET ANSI_NULLS」、「SET ANSI_PADDING」、「SET ANSI_WARNINGS」、および「SET CONCAT_NULL_YIELDS_NULL」を参照してください。For more information, see SET ANSI_NULLS, SET ANSI_PADDING, SET ANSI_WARNINGS, and SET CONCAT_NULL_YIELDS_NULL.

Value 説明Description
SQL_AD_ONSQL_AD_ON 既定値です。Default. 接続では、NULL 比較、埋め込み、警告、および NULL 連結に ANSI の既定動作が使用されます。The connection uses ANSI default behavior for handling NULL comparisons, padding, warnings, and NULL concatenations.
SQL_AD_OFFSQL_AD_OFF 接続では、NULL、文字データ型の埋め込み、および警告の処理に SQL ServerSQL Server で定義された処理を使用します。The connection uses SQL ServerSQL Server-defined handling of NULL, character data type padding, and warnings.

接続プールを使用する場合は、SQLSetConnectAttr ではなく、接続文字列で SQL_COPT_SS_ANSI_NPW を設定する必要があります。If you use connection pooling, SQL_COPT_SS_ANSI_NPW should be set in the connection string, rather than with SQLSetConnectAttr. 接続プールを使用している場合、接続が確立された後にこの属性を変更しようとすると、何も通知されずに失敗します。After a connection has been made, any attempt to change this attribute will fail silently when connection pooling is used.

SQL_COPT_SS_APPLICATION_INTENTSQL_COPT_SS_APPLICATION_INTENT

アプリケーションがサーバーに接続するときのワークロードのタイプを宣言します。Declares the application workload type when connecting to a server. 指定できる値はReadonlyReadWriteします。Possible values are Readonly and ReadWrite. 以下に例を示します。For example:

SQLSetConnectAttr(hdbc, SQL_COPT_SS_APPLICATION_INTENT, TEXT("Readonly"), SQL_NTS)  

既定値はReadWriteします。The default is ReadWrite. 詳細についてはSQL ServerSQL Serverのネイティブ クライアントのサポートAlways On 可用性グループAlways On availability groupsAg を参照してくださいSQL Server ネイティブ クライアントをサポートして高可用性、ディザスター リカバリーのためします。For more information about SQL ServerSQL Server Native Client's support for Always On 可用性グループAlways On availability groups AGs, see SQL Server Native Client Support for High Availability, Disaster Recovery.

SQL_COPT_SS_ATTACHDBFILENAMESQL_COPT_SS_ATTACHDBFILENAME

SQL_COPT_SS_ATTACHDBFILENAME 属性は、アタッチ可能なデータベースのプライマリ ファイルの名前を指定します。SQL_COPT_SS_ATTACHDBFILENAME specifies the name of the primary file of an attachable database. このデータベースがアタッチされ、接続の既定のデータベースとして使用されます。This database is attached and becomes the default database for the connection. Sql_copt_ss_attachdbfilename 属性を使用するには、接続属性 SQL_ATTR_CURRENT_CATALOG の値として、データベースの名前を指定またはデータベース内のパラメーターを = する必要があります、 SQLDriverConnectします。To use SQL_COPT_SS_ATTACHDBFILENAME you must specify the name of the database as the value of the connection attribute SQL_ATTR_CURRENT_CATALOG or in the DATABASE = parameter of a SQLDriverConnect. データベースが以前にアタッチされていた場合は、SQL ServerSQL Server はそのデータベースを再アタッチしません。If the database was previously attached, SQL ServerSQL Server will not reattach it.

Value 説明Description
文字列への SQLPOINTERSQLPOINTER to a character string この文字列には、アタッチするデータベースのプライマリ ファイル名を指定します。The string contains the name of the primary file for the database to attach. ファイル名には、ファイルの完全なパスを含めます。Include the full path name of the file.

SQL_COPT_SS_BCPSQL_COPT_SS_BCP

SQL_COPT_SS_BCP 属性は、接続で一括コピー関数を有効にします。SQL_COPT_SS_BCP enables bulk copy functions on a connection. 詳細については、次を参照してください。一括コピー関数します。For more information, see Bulk Copy Functions.

Value 説明Description
SQL_BCP_OFFSQL_BCP_OFF 既定値です。Default. 接続では一括コピー関数を使用できません。Bulk copy functions are not available on the connection.
SQL_BCP_ONSQL_BCP_ON 接続では一括コピー関数を使用できます。Bulk copy functions are available on the connection.

SQL_COPT_SS_BROWSE_CONNECTSQL_COPT_SS_BROWSE_CONNECT

この属性を使用して返される結果セットをカスタマイズするSQLBrowseConnectします。This attribute is used to customize the result set returned by SQLBrowseConnect. SQL_COPT_SS_BROWSE_CONNECT 属性は、SQL ServerSQL Server の列挙されたインスタンスから詳細情報が返されるかどうかを指定します。SQL_COPT_SS_BROWSE_CONNECT enables or disables the return of additional information from an enumerated instance of SQL ServerSQL Server. この詳細情報には、サーバーがクラスター サーバーかどうか、さまざまなインスタンスの名前、およびバージョン番号などが含まれます。This can include information such as whether the server is a cluster, names of different instances, and the version number.

Value 説明Description
SQL_MORE_INFO_NOSQL_MORE_INFO_NO 既定値です。Default. サーバーの一覧を返します。Returns a list of servers.
SQL_MORE_INFO_YESSQL_MORE_INFO_YES SQLBrowseConnectサーバーのプロパティの拡張文字列を返します。SQLBrowseConnect returns an extended string of server properties.

SQL_COPT_SS_BROWSE_SERVERSQL_COPT_SS_BROWSE_SERVER

この属性を使用して返される結果セットをカスタマイズするSQLBrowseConnectします。This attribute is used to customize the result set returned by SQLBrowseConnect. SQL_COPT_SS_BROWSE_SERVER 対象のサーバー名を指定するSQLBrowseConnect情報を返します。SQL_COPT_SS_BROWSE_SERVER specifies the server name for which SQLBrowseConnect returns the information.

Value 説明Description
computernamecomputername SQLBrowseConnectのインスタンスの一覧を返しますSQL ServerSQL Server指定したコンピューター上です。SQLBrowseConnect returns a list of instances of SQL ServerSQL Server on the specified computer. 二重の円記号 (\\) サーバー名は使用しない必要があります (たとえばの代わりに\\MyServer、MyServer を使用する必要があります)。Double backslashes (\\) should not be used for the server name (for example, instead of \\MyServer, MyServer should be used).
NULLNULL 既定値です。Default. SQLBrowseConnectドメイン内のすべてのサーバー情報を返します。SQLBrowseConnect returns information for all servers in the domain.

SQL_COPT_SS_CONCAT_NULLSQL_COPT_SS_CONCAT_NULL

SQL_COPT_SS_CONCAT_NULL 属性は、文字列を連結するときの NULL 処理に対して、ISO 標準の処理を有効または無効にします。SQL_COPT_SS_CONCAT_NULL enables or disables the use of ISO handling of NULL when concatenating strings. 詳細については、「SET CONCAT_NULL_YIELDS_NULL」を参照してください。For more information, see SET CONCAT_NULL_YIELDS_NULL.

Value 説明Description
SQL_CN_ONSQL_CN_ON 既定値です。Default. 接続では、文字列を連結するときの NULL の処理に対して、ISO の既定の動作を使用します。The connection uses ISO default behavior for handling NULL values when concatenating strings.
SQL_CN_OFFSQL_CN_OFF 接続では、文字列を連結するときの NULL の処理に対して、SQL ServerSQL Server で定義されている動作を使用します。The connection uses SQL ServerSQL Server-defined behavior for handling NULL values when concatenating strings.

SQL_COPT_SS_ENCRYPTSQL_COPT_SS_ENCRYPT

接続の暗号化を制御します。Controls encryption for a connection.

暗号化にはサーバー上の証明書が使用されます。Encryption uses the certificate on the server. 接続属性 SQL_COPT_SS_TRUST_SERVER_CERTIFICATE が SQL_TRUST_SERVER_CERTIFICATE_YES に設定されるか、接続文字列に "TrustServerCertificate=yes" が含まれていない限り、この証明書は証明機関によって検証される必要があります。This must be verified by a certificate authority, unless the connection attribute SQL_COPT_SS_TRUST_SERVER_CERTIFICATE is set to SQL_TRUST_SERVER_CERTIFICATE_YES or the connection string contains "TrustServerCertificate=yes". この両方の条件を満たしている場合、サーバー上に証明書が存在しなければ、そのサーバーによって生成および署名された証明書を使用して、接続を暗号化できます。If either of these conditions is true, a certificate generated and signed by the server can be used to encrypt the connection if no certificate is on the server.

Value 説明Description
SQL_EN_ONSQL_EN_ON 接続が暗号化されます。The connection will be encrypted.
SQL_EN_OFFSQL_EN_OFF 接続は暗号化されません。The connection will not be encrypted. 既定値です。This is the default.

SQL_COPT_SS_ENLIST_IN_DTCSQL_COPT_SS_ENLIST_IN_DTC

クライアントは、Microsoft 分散トランザクション コーディネーター (MS DTC) OLE DB を呼び出すitransactiondispenser::begintransaction MS DTC トランザクションを開始し、MS DTC トランザクション オブジェクトを作成するメソッドを表す、トランザクションです。The client calls the Microsoft Distributed Transaction Coordinator (MS DTC) OLE DB ITransactionDispenser::BeginTransaction method to begin an MS DTC transaction and create an MS DTC transaction object that represents the transaction. 次に、アプリケーションを呼び出すSQLSetConnectAttrにトランザクション オブジェクトを ODBC 接続に関連付けるには、sql_copt_ss_enlist_in_dtc にします。The application then calls SQLSetConnectAttr with the SQL_COPT_SS_ENLIST_IN_DTC option to associate the transaction object with the ODBC connection. 関連のあるすべてのデータベース操作は、MS DTC トランザクションで保護されます。All related database activity will be performed under the protection of the MS DTC transaction. アプリケーション呼び出しSQLSetConnectAttr sql_dtc_done を指定して、接続の DTC の関連付けを終了するとします。The application calls SQLSetConnectAttr with SQL_DTC_DONE to end the connection's DTC association.

Value 説明Description
DTC object*DTC object* SQL ServerSQL Server にエクスポートするトランザクションを指定する MS DTC OLE トランザクション オブジェクトです。The MS DTC OLE transaction object that specifies the transaction to export to SQL ServerSQL Server.
SQL_DTC_DONESQL_DTC_DONE トランザクションの末尾を区切ります。Delimits the end of a DTC transaction.

SQL_COPT_SS_ENLIST_IN_XASQL_COPT_SS_ENLIST_IN_XA

クライアントが Open Group を呼び出し、XA トランザクション XA 準拠のトランザクション プロセッサ (TP) を開始するtx_begin関数。To begin an XA transaction with an XA-compliant Transaction Processor (TP), the client calls the Open Group tx_begin function. 次に、アプリケーションを呼び出すSQLSetConnectAttr XA トランザクションを ODBC 接続に関連付ける場合は TRUE、SQL_COPT_SS_ENLIST_IN_XA にパラメーターにします。The application then calls SQLSetConnectAttr with a SQL_COPT_SS_ENLIST_IN_XA parameter of TRUE to associate the XA transaction with the ODBC connection. 関連のあるすべてのデータベース操作は、XA トランザクションで保護されます。All related database activity will be performed under the protection of the XA transaction. XA の関連付けの ODBC 接続を終了するには、クライアントが呼び出す必要がありますSQLSetConnectAttr SQL_COPT_SS_ENLIST_IN_XA にパラメーターを FALSE にします。To end an XA association with an ODBC connection, the client must call SQLSetConnectAttr with a SQL_COPT_SS_ENLIST_IN_XA parameter of FALSE. 詳細については、分散トランザクション コーディネーターのマニュアルを参照してください。For more information, see the Microsoft Distributed Transaction Coordinator documentation.

SQL_COPT_SS_FALLBACK_CONNECTSQL_COPT_SS_FALLBACK_CONNECT

この属性は現在サポートされていません。This attribute is no longer supported.

SQL_COPT_SS_FAILOVER_PARTNERSQL_COPT_SS_FAILOVER_PARTNER

SQL ServerSQL Server のデータベース ミラーリングで使用するフェールオーバー パートナーの名前を指定または取得する場合に使用します。この属性値には、SQL ServerSQL Server への最初の接続を確立する前に、NULL で終わる文字列を指定する必要があります。Used to specify or retrieve the name of the failover partner used for database mirroring in SQL ServerSQL Server, and it is a null terminated character string which must be set before the connection to SQL ServerSQL Server is initially made.

この属性を使用して接続を確立するには後からアプリケーションに照会できますSQLGetConnectAttrフェールオーバー パートナーの id を確認します。After making the connection, the application can query this attribute using SQLGetConnectAttr to determine the identity of the failover partner. プライマリ サーバーのフェールオーバー パートナーが存在しないと、この属性は空文字列を返します。If the primary server has no failover partner this property will return an empty string. アプリケーションでは最後に判別したバックアップ サーバーをキャッシュできますが、この情報は最初に接続を確立したとき、または接続がリセットされたとき (接続がプールされている場合) にだけ更新されることに注意する必要があります。接続が長期にわたると、この情報は古くなることがあります。This allows a smart application to cache the most recently determined backup server, but such applications should be aware that the information is only updated when the connection is first established, or reset, if pooled, and can become out of date for long term connections.

詳細については、「データベース ミラーリングの使用」を参照してください。For more information, see Using Database Mirroring.

SQL_COPT_SS_INTEGRATED_SECURITYSQL_COPT_SS_INTEGRATED_SECURITY

SQL_COPT_SS_INTEGRATED_SECURITY 属性は、サーバー ログインでアクセス違反を検出するために Windows 認証を使用することを強制します。SQL_COPT_SS_INTEGRATED_SECURITY forces use of Windows Authentication for access validation on server login. Windows 認証を使用すると、ドライバーがの一部として提供されるユーザー id とパスワードの値を無視SQLConnectSQLDriverConnect、またはSQLBrowseConnect処理します。When Windows Authentication is used, the driver ignores user identifier and password values provided as part of SQLConnect, SQLDriverConnect, or SQLBrowseConnect processing.

Value 説明Description
SQL_IS_OFFSQL_IS_OFF 既定値です。Default. ログインでユーザー ID とパスワードの検証に SQL ServerSQL Server 認証を使用します。SQL ServerSQL Server Authentication is used to validate user identifier and password on login.
SQL_IS_ONSQL_IS_ON SQL ServerSQL Server に対するユーザーのアクセス権の検証に Windows 認証を使用します。Windows Authentication Mode is used to validate a user's access rights to the SQL ServerSQL Server.

SQL_COPT_SS_MARS_ENABLEDSQL_COPT_SS_MARS_ENABLED

この属性は、複数のアクティブな結果セット (MARS) を有効または無効にします。This attribute enables or disables Multiple Active Result Sets (MARS). 既定では、MARS は無効になっています。By default, MARS is disabled. この属性は、SQL ServerSQL Server への接続を確立する前に設定する必要があります。This attribute should be set before making a connection to SQL ServerSQL Server. SQL ServerSQL Server への接続が開かれると、MARS の設定 (有効または無効) は接続が閉じられるまで維持されます。Once the connection SQL ServerSQL Server is opened, MARS will remain enabled or disabled for the life of the connection.

Value 説明Description
SQL_MARS_ENABLED_NOSQL_MARS_ENABLED_NO 既定値です。Default. 複数のアクティブな結果セット (MARS) を無効にします。Multiple Active Result Sets (MARS) is disabled.
SQL_MARS_ENABLED_YESSQL_MARS_ENABLED_YES MARS を有効にします。MARS is enabled.

MARS の詳細については、次を参照してください。複数のアクティブな結果セットのを使用して(MARS)します。For more information about MARS, see Using Multiple Active Result Sets (MARS).

SQL_COPT_SS_MULTISUBNET_FAILOVERSQL_COPT_SS_MULTISUBNET_FAILOVER

異なるサブネット上にある Always On 可用性グループAlways On availability groups 可用性グループ (AG) に対してアプリケーションが接続している場合、この接続プロパティによって、(現在) アクティブなサーバーを迅速に検出し、接続するように SQL ServerSQL Server Native Client が構成されます。If your application is connecting to a Always On 可用性グループAlways On availability groups availability group (AG) on different subnets, this connection property configures SQL ServerSQL Server Native Client to provide faster detection of and connection to the (currently) active server. 以下に例を示します。For example:

SQLSetConnectAttr(hdbc, SQL_COPT_SS_MULTISUBNET_FAILOVER, SQL_IS_ON, SQL_IS_INTEGER)  

詳細についてはSQL ServerSQL Serverのネイティブ クライアントのサポートAlways On 可用性グループAlways On availability groupsAg を参照してくださいSQL Server ネイティブ クライアントをサポートして高可用性、ディザスター リカバリーのためします。For more information about SQL ServerSQL Server Native Client's support for Always On 可用性グループAlways On availability groups AGs, see SQL Server Native Client Support for High Availability, Disaster Recovery.

Value 説明Description
SQL_IS_ONSQL_IS_ON フェールオーバーが存在する場合に、SQL ServerSQL Server Native Client による迅速な再接続が提供されます。SQL ServerSQL Server Native Client provides faster reconnection if there is a failover.
SQL_IS_OFFSQL_IS_OFF フェールオーバーが存在する場合に、SQL ServerSQL Server Native Client による迅速な再接続は提供されません。SQL ServerSQL Server Native Client will not provide faster reconnection if there is a failover.

SQL_COPT_SS_OLDPWDSQL_COPT_SS_OLDPWD

SQL Server 2005 (9.x)SQL Server 2005 (9.x) では、SQL Server 認証におけるパスワードの期限切れが導入されました。Password expiration for SQL Server Authentication was introduced in SQL Server 2005 (9.x)SQL Server 2005 (9.x). クライアントから接続の古いパスワードと新しいパスワードの両方を提供できるようにするために、SQL_COPT_SS_OLDPWD 属性が追加されました。The SQL_COPT_SS_OLDPWD attribute has been added to allow the client to provide both the old and the new password for the connection. この属性が設定されている場合、接続文字列には変更された "古いパスワード" が含まれているので、プロバイダーは最初の接続またはそれ以降の接続で接続プールを使用しません。When this property is set, the provider will not use the connection pool for the first connection or for subsequent connections, since the connection string will contain the "old password" which has now changed.

詳細については、次を参照してください。プログラムでパスワードを変更するします。For more information, see Changing Passwords Programmatically.

Value 説明Description
SQL_COPT_SS_OLD_PASSWORDSQL_COPT_SS_OLD_PASSWORD 古いパスワードを含む文字列への SQLPOINTER。SQLPOINTER to a character string containing the old password. この値は書き込み専用で、サーバーへの接続を確立する前に設定する必要があります。This value is write-only, and must be set before connection to the server.

SQL_COPT_SS_PERF_DATASQL_COPT_SS_PERF_DATA

SQL_COPT_SS_PERF_DATA 属性は、パフォーマンス データのログ記録を開始または停止します。SQL_COPT_SS_PERF_DATA starts or stops performance data logging. データのログ ファイル名は、データのログ記録を開始する前に設定する必要があります。The data log file name must be set prior to starting data logging. 詳細については、次の「SQL_COPT_SS_PERF_DATA_LOG」を参照してください。See SQL_COPT_SS_PERF_DATA_LOG below.

Value 説明Description
SQL_PERF_STARTSQL_PERF_START ドライバーのパフォーマンス データのサンプリングを開始します。Starts the driver sampling performance data.
SQL_PERF_STOPSQL_PERF_STOP パフォーマンス データのサンプリングのカウンターを停止します。Stops the counters from sampling performance data.

詳細については、次を参照してください。 SQLGetConnectAttrします。For more information, see SQLGetConnectAttr.

SQL_COPT_SS_PERF_DATA_LOGSQL_COPT_SS_PERF_DATA_LOG

SQL_COPT_SS_PERF_DATA_LOG 属性は、パフォーマンス データの記録に使用するログ ファイル名を割り当てます。SQL_COPT_SS_PERF_DATA_LOG assigns the name of the log file used to record performance data. ログ ファイル名は、アプリケーションのコンパイル方法に応じて、ANSI または Unicode 形式の、NULL で終わる文字列になります。The log file name is an ANSI or Unicode, null-terminated string depending upon application compilation. StringLength引数は SQL_NTS をする必要があります。The StringLength argument should be SQL_NTS.

SQL_COPT_SS_PERF_DATA_LOG_NOWSQL_COPT_SS_PERF_DATA_LOG_NOW

SQL_COPT_SS_PERF_DATA_LOG_NOW 属性は、ドライバーに対して、統計ログのエントリをディスクに書き込むように指定します。SQL_COPT_SS_PERF_DATA_LOG_NOW instructs the driver to write a statistics log entry to disk. StringLength引数は SQL_NTS をする必要があります。The StringLength argument should be SQL_NTS.

SQL_COPT_SS_PERF_QUERYSQL_COPT_SS_PERF_QUERY

SQL_COPT_SS_PERF_QUERY 属性は、実行時間の長いクエリ用のログ記録を開始または停止します。SQL_COPT_SS_PERF_QUERY starts or stops logging for long running queries. クエリのログ ファイル名は、ログ記録を開始する前に指定する必要があります。The query log file name must be supplied prior to starting logging. アプリケーションでは、ログ記録の間隔を設定して "実行時間の長いクエリ" を定義できます。The application can define "long running" by setting the interval for logging.

Value 説明Description
SQL_PERF_STARTSQL_PERF_START 実行時間の長いクエリのログ記録を開始します。Starts long running query logging.
SQL_PERF_STOPSQL_PERF_STOP 実行時間の長いクエリのログ記録を停止します。Stops logging of long running queries.

詳細については、次を参照してください。 SQLGetConnectAttrします。For more information, see SQLGetConnectAttr.

SQL_COPT_SS_PERF_QUERY_INTERVALSQL_COPT_SS_PERF_QUERY_INTERVAL

SQL_COPT_SS_PERF_QUERY_INTERVAL 属性は、クエリのログ記録のしきい値をミリ秒単位で設定します。SQL_COPT_SS_PERF_QUERY_INTERVAL sets the query logging threshold in milliseconds. 指定のしきい値内に解決しないクエリは、実行時間の長いクエリのログ ファイルに記録されます。Queries that do not resolve within the threshold are recorded in the long running query log file. クエリのしきい値に上限はありません。There is no upper limit on the query threshold. クエリのしきい値に値 0 が設定されている場合、すべてのクエリがログに記録されます。A query threshold value of zero causes logging of all queries.

SQL_COPT_SS_PERF_QUERY_LOGSQL_COPT_SS_PERF_QUERY_LOG

SQL_COPT_SS_PERF_QUERY_LOG 属性は、実行時間の長いクエリのデータを記録するログ ファイル名を割り当てます。SQL_COPT_SS_PERF_QUERY_LOG assigns the name of a log file for recording long running query data. ログ ファイル名は、アプリケーションのコンパイル方法に応じて、ANSI または Unicode 形式の、NULL で終わる文字列になります。The log file name is an ANSI or Unicode, null-terminated string depending upon application compilation. StringLength引数は、SQL_NTS または文字列のバイト単位の長さ。The StringLength argument should be SQL_NTS or the length of the string in bytes.

SQL_COPT_SS_PRESERVE_CURSORSSQL_COPT_SS_PRESERVE_CURSORS

この属性を使用して、トランザクションをコミットまたはロールバックするときに接続でカーソルを保持するかどうかを照会および設定できます。This attribute allows you to query and set whether or not the connection will preserve the cursor(s) when you commit/rollback a transaction. 設定値は、SQL_PC_ON または SQL_PC_OFF のどちらかです。The setting is either SQL_PC_ON or SQL_PC_OFF. 既定値は SQL_PC_OFF です。The default value is SQL_PC_OFF. この設定を制御するかどうか、ドライバーはカーソルを閉じるを呼び出すときにSQLEndTran (または SQLTransact)。This setting controls whether or not the driver will close the cursor(s) for you when you call SQLEndTran (or SQLTransact).

Value 説明Description
SQL_PC_OFFSQL_PC_OFF 既定値です。Default. トランザクションがコミットまたはロールバックされるときに、カーソルが閉じられますを使用してバックアップSQLEndTranします。Cursors are closed when transaction is committed or rolled back using SQLEndTran.
SQL_PC_ONSQL_PC_ON トランザクションがコミットまたはロールバックされるときに、カーソルは閉じられませんを使用してバックアップSQLEndTran、非同期モードで静的メソッドまたはキーセット カーソルを使用する場合は除きます。Cursors are not closed when transaction is committed or rolled back using SQLEndTran, except when using a static or keyset cursor in asynchronous mode. カーソルのデータ設定が完了していないときにロールバックが行われると、そのカーソルは閉じられます。If a rollback is issued while the population of the cursor is not complete, the cursor is closed.

SQL_COPT_SS_QUOTED_IDENTSQL_COPT_SS_QUOTED_IDENT

SQL_COPT_SS_QUOTED_IDENT 属性は、その接続で送信される ODBC ステートメントや Transact-SQL ステートメントにおける引用符で囲まれた識別子の使用を有効または無効にします。SQL_COPT_SS_QUOTED_IDENT allows quoted identifiers in ODBC and Transact-SQL statements submitted on the connection. 引用符で囲まれた識別子を指定することにより、"My Table" のように識別子に空白が含まれていて通常は無効になるオブジェクト名も、SQL ServerSQL Server Native Client ODBC ドライバーでは許可されます。By supplying quoted identifiers, the SQL ServerSQL Server Native Client ODBC driver allows otherwise invalid object names such as "My Table", which contains a space character in the identifier. 詳細については、「SET QUOTED_IDENTIFIER」を参照してください。For more information, see SET QUOTED_IDENTIFIER.

Value 説明Description
SQL_QI_OFFSQL_QI_OFF SQL ServerSQL Server 接続では、送信される Transact-SQLTransact-SQL ステートメントで、引用符で囲まれた識別子を指定できません。The SQL ServerSQL Server connection does not allow quoted identifiers in submitted Transact-SQLTransact-SQL.
SQL_QI_ONSQL_QI_ON 既定値です。Default. 接続では、送信される Transact-SQLTransact-SQL ステートメントで、引用符で囲まれた識別子を使用できます。The connection allows quoted identifiers in submitted Transact-SQLTransact-SQL.

SQL_COPT_SS_TRANSLATESQL_COPT_SS_TRANSLATE

SQL_COPT_SS_TRANSLATE 属性を指定すると、MBCS データを交換するときに、ドライバーによってクライアントとサーバーのコード ページ間で文字が変換されます。SQL_COPT_SS_TRANSLATE causes the driver to translate characters between the client and server code pages as MBCS data is exchanged. 属性に格納されたデータのみに影響を与えますSQL ServerSQL Server charvarchar、およびテキスト列。The attribute affects only data stored in SQL ServerSQL Serverchar, varchar, and text columns.

Value 説明Description
SQL_XL_OFFSQL_XL_OFF ドライバーでは、クライアントとサーバー間で文字データを交換する際に、あるコード ページから別のコード ページに文字が変換されません。The driver does not translate characters from one code page to another in character data exchanged between the client and the server.
SQL_XL_ONSQL_XL_ON 既定値です。Default. ドライバーでは、クライアントとサーバー間で文字データを交換する際に、あるコード ページから別のコード ページに文字が変換されます。The driver translates characters from one code page to another in character data exchanged between the client and the server. サーバーにインストールされているコード ページとクライアントで使用されているコード ページが判別され、文字の変換が自動的に構成されます。The driver automatically configures the character translation, determining the code page installed on the server and that in use by the client.

SQL_COPT_SS_TRUST_SERVER_CERTIFICATESQL_COPT_SS_TRUST_SERVER_CERTIFICATE

SQL_COPT_SS_TRUST_SERVER_CERTIFICATE 属性では、暗号化を使用しているときに、ドライバーによる証明書の検証を有効または無効にできます。SQL_COPT_SS_TRUST_SERVER_CERTIFICATE causes the driver to enable or disable certificate validation when using encryption. この属性の値は読み書き可能ですが、接続を確立した後に値を設定しても、設定は有効にはなりません。This attribute is a read/write value, but setting it after a connection has been established has no effect.

クライアント アプリケーションでは、接続を開いた後にこの属性をクエリして、実際に使用されている暗号化と検証の設定を判断できます。Client applications can query this property after a connection has been opened to determine the actual encryption and validation settings in use.

Value 説明Description
SQL_TRUST_SERVER_CERTIFICATE_NOSQL_TRUST_SERVER_CERTIFICATE_NO 既定値です。Default. 証明書の検証を伴わない暗号化が無効です。Encryption without certificate validation is not enabled.
SQL_TRUST_SERVER_CERTIFICATE_YESSQL_TRUST_SERVER_CERTIFICATE_YES 証明書の検証を伴わない暗号化が有効です。Encryption without certificate validation is enabled.

SQL_COPT_SS_TXN_ISOLATIONSQL_COPT_SS_TXN_ISOLATION

SQL_COPT_SS_TXN_ISOLATION 属性は、SQL ServerSQL Server 固有のスナップショット分離の属性を設定します。SQL_COPT_SS_TXN_ISOLATION sets the SQL ServerSQL Server specific snapshot isolation attribute. この値は SQL ServerSQL Server 固有の値であるため、スナップショット分離は、SQL_ATTR_TXN_ISOLATION を使用して設定することはできません。Snapshot isolation cannot be set using SQL_ATTR_TXN_ISOLATION because the value is SQL ServerSQL Server specific. ただし、この値は、SQL_ATTR_TXN_ISOLATION または SQL_COPT_SS_TXN_ISOLATION のどちらを使用しても取得することはできます。However, it can be retrieved using either SQL_ATTR_TXN_ISOLATION or SQL_COPT_SS_TXN_ISOLATION.

Value 説明Description
SQL_TXN_SS_SNAPSHOTSQL_TXN_SS_SNAPSHOT あるトランザクションで行った変更内容を別のトランザクションから参照できないことを示します。この場合、クエリを再実行しても変更内容を参照することはできません。Indicates that from one transaction you cannot see changes made in other transactions and that you cannot see changes even when requerying.

スナップショット分離の詳細については、次を参照してください。スナップショット分離を使用した作業します。For more information about snapshot isolation, see Working with Snapshot Isolation.

SQL_COPT_SS_USE_PROC_FOR_PREPSQL_COPT_SS_USE_PROC_FOR_PREP

この属性は現在サポートされていません。This attribute is no longer supported.

SQL_COPT_SS_USER_DATASQL_COPT_SS_USER_DATA

SQL_COPT_SS_USER_DATA 属性は、ユーザー データのポインターを設定します。SQL_COPT_SS_USER_DATA sets the user data pointer. ユーザー データとは、接続ごとに記録されているクライアントが所有するメモリのことです。User data is client-owned memory recorded per connection.

詳細については、次を参照してください。 SQLGetConnectAttrします。For more information, see SQLGetConnectAttr.

SQL_COPT_SS_WARN_ON_CP_ERRORSQL_COPT_SS_WARN_ON_CP_ERROR

この属性は、コード ページの変換中に損失したデータがある場合に警告を表示するかどうかを指定します。This attribute determines whether you will get a warning if there is a loss of data during a code page conversion. これは、サーバーから送信されるデータにのみ適用されます。This applies to only data coming from the server.

Value 説明Description
SQL_WARN_YESSQL_WARN_YES コード ページの変換中にデータの損失が発生した場合に、警告を表示します。Generate warnings when data loss is encountered during codepage conversion.
SQL_WARN_NOSQL_WARN_NO (既定値) コード ページの変換中にデータの損失が発生した場合に、警告を表示しません。(Default) Do not generate warnings when data loss is encountered during codepage conversion.

SQLSetConnectAttr によるサービス プリンシパル名 (SPN) のサポートSQLSetConnectAttr Support for Service Principal Names (SPNs)

新しい接続属性である SQL_COPT_SS_SERVER_SPN および SQL_COPT_SS_FAILOVER_PARTNER_SPN の値を設定するのには、SQLSetConnectAttr を使用できます。SQLSetConnectAttr can be used to set the value of the new connection attributes SQL_COPT_SS_SERVER_SPN and SQL_COPT_SS_FAILOVER_PARTNER_SPN. 接続が開いている場合、これらの属性を設定することはできません。接続が開いているときにこれらの属性を設定しようとすると、"現時点での操作は正しくありません。" というメッセージと共に、エラー HY011 が返されますThese attributes cannot be set when a connection is open; if you attempt to set these attributes when a connection is open, error HY011 is returned with the message "Operation invalid at this time". (SQLSetConnectOption こともできますをこれらの値を設定します。)(SQLSetConnectOption can also be used to set these values.)

Spn の詳細については、次を参照してください。サービス プリンシパル名(Spn)クライアント接続で(ODBC)します。For more information about SPNs, see Service Principal Names (SPNs) in Client Connections (ODBC).

SQL_COPT_SS_CONNECTION_DEADSQL_COPT_SS_CONNECTION_DEAD

これは読み取り専用属性です。This is a read-only attribute.

SQL_COPT_SS_CONNECTION_DEAD の詳細については、次を参照してください。 SQLGetConnectAttrデータ ソースに接続する(ODBC)します。For more information about SQL_COPT_SS_CONNECTION_DEAD, see SQLGetConnectAttr and Connecting to a Data Source (ODBC).

Example

次の例では、パフォーマンス データがログに記録されます。This example logs performance data.

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...  

参照See Also

SQLSetConnectAttr 関数 SQLSetConnectAttr Function
ODBC API 実装の詳細 ODBC API Implementation Details
一括コピー関数 Bulk Copy Functions
SET ANSI_NULLS (Transact-SQL) SET ANSI_NULLS (Transact-SQL)
SET ANSI_PADDING (Transact-SQL) SET ANSI_PADDING (Transact-SQL)
SET ANSI_WARNINGS (Transact-SQL) SET ANSI_WARNINGS (Transact-SQL)
SET CONCAT_NULL_YIELDS_NULL (Transact-SQL) SET CONCAT_NULL_YIELDS_NULL (Transact-SQL)
SET QUOTED_IDENTIFIER (Transact-SQL) SET QUOTED_IDENTIFIER (Transact-SQL)
SQLPrepare 関数 SQLPrepare Function
SQLGetInfoSQLGetInfo