SQLDriverConnectSQLDriverConnect

適用対象: ○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 ドライバーでは、接続文字列のキーワードを置き換えたり、拡張したりするための接続属性を定義します。The SQL ServerSQL Server Native Client ODBC driver defines connection attributes that either replace or enhance connection-string keywords. 接続文字列のいくつかのキーワードには、SQL ServerSQL Server Native Client ODBC ドライバーが指定する既定値があります。Several connection-string keywords have default values specified by the SQL ServerSQL Server Native Client ODBC driver.

使用できるキーワードの一覧については、 SQL ServerSQL Server Native Client ODBC ドライバーを参照してください使用した Connection String Keywords with SQL Server Native Client を使用してします。For a list of the keywords available in the SQL ServerSQL Server Native Client ODBC driver, see Using Connection String Keywords with SQL Server Native Client.

詳細についてはSQL ServerSQL Server接続属性とドライバーの既定の動作を参照してください。 SQLSetConnectAttrします。For more information about SQL ServerSQL Server connection attributes and driver default behaviors, see SQLSetConnectAttr.

有効な接続文字列キーワードの詳細についてはSQL ServerSQL ServerNative Client を参照してください使用した Connection String Keywords with SQL Server Native Client を使用してします。For a discussion of connection string keywords that are valid for SQL ServerSQL Server Native Client, see Using Connection String Keywords with SQL Server Native Client.

ときに、 SQLDriverConnect_DriverCompletion_パラメーター値が SQL_DRIVER_PROMPT、SQL_DRIVER_COMPLETE、または sql_driver_complete_required の場合、 SQL ServerSQL Server Native Client ODBC ドライバー表示されるダイアログ ボックスからキーワード値を取得します。When the SQLDriverConnectDriverCompletion parameter value is SQL_DRIVER_PROMPT, SQL_DRIVER_COMPLETE, or SQL_DRIVER_COMPLETE_REQUIRED, the SQL ServerSQL Server Native Client ODBC driver retrieves keyword values from the displayed dialog box. 接続文字列でキーワード値が渡され、ユーザーがダイアログ ボックスでキーワードの値を変更しなかった場合、SQL ServerSQL Server Native Client ODBC ドライバーは接続文字列の値を使用します。If the keyword value is passed in the connection string and the user does not alter the value for the keyword in the dialog box, the SQL ServerSQL Server Native Client ODBC driver uses the value from the connection string. 接続文字列で値が設定されていない場合、ユーザーがダイアログ ボックスで割り当てを行わないと、ドライバーは既定値を使用します。If the value is not set in the connection string and the user makes no assignment in the dialog box, the driver uses the default.

SQLDriverConnect 、有効なを指定する必要がありますWindowHandleいずれかがDriverCompletion値が必要です (または必要があります)、ドライバーの接続 ダイアログ ボックスの表示。SQLDriverConnect must be given a valid WindowHandle when any DriverCompletion value requires (or could require) the display of the driver's connection dialog box. 無効なハンドルを指定すると、SQL_ERROR が返されます。An invalid handle returns SQL_ERROR.

DRIVER キーワードまたは DSN キーワードを指定します。Specify either the DRIVER or DSN keywords. ODBC は、これらの 2 つのキーワードが両方指定されている場合、左側に指定されているキーワードを使用し、他方を無視するように指示します。ODBC states that a driver uses the leftmost of these two keywords and ignores the other if both are specified. ドライバーが指定されているか、2 つの場合、 SQLDriverConnect_DriverCompletion_パラメーター値が SQL_DRIVER_NOPROMPT、SERVER キーワードと、適切な値が必要です。If DRIVER is specified, or is the leftmost of the two, and the SQLDriverConnectDriverCompletion parameter value is SQL_DRIVER_NOPROMPT, the SERVER keyword and an appropriate value are required.

SQL_DRIVER_NOPROMPT が指定されているときは、ユーザー認証に関するキーワードに値が指定されている必要があります。When SQL_DRIVER_NOPROMPT is specified, user authentication keywords must be present with values. ドライバーは、文字列 "Trusted_Connection=yes" または UID キーワードと PWD キーワードの両方が指定されていることを確認します。The driver ensures that either the string "Trusted_Connection=yes" or both the UID and PWD keywords are present.

場合、 DriverCompletionパラメーター値が SQL_DRIVER_NOPROMPT または SQL_DRIVER_COMPLETE_REQUIRED と言語またはデータベースが接続文字列から取得し、いずれかが有効でないSQLDriverConnectSQL_ERROR を返します。If the DriverCompletion parameter value is SQL_DRIVER_NOPROMPT or SQL_DRIVER_COMPLETE_REQUIRED and the language or database comes from the connection string and either is invalid, SQLDriverConnect returns SQL_ERROR.

場合、 DriverCompletionパラメーター値が SQL_DRIVER_NOPROMPT または SQL_DRIVER_COMPLETE_REQUIRED と言語またはデータベースが ODBC データ ソースの定義から取得し、いずれかが有効でないSQLDriverConnect指定されたユーザー ID を既定の言語またはデータベースを使用し、SQL_SUCCESS_WITH_INFO が返されます。If the DriverCompletion parameter value is SQL_DRIVER_NOPROMPT or SQL_DRIVER_COMPLETE_REQUIRED and the language or database comes from the ODBC data source definitions and either is invalid, SQLDriverConnect uses the default language or database for the specified user ID and returns SQL_SUCCESS_WITH_INFO.

場合、 DriverCompletionパラメーター値が SQL_DRIVER_COMPLETE または SQL_DRIVER_PROMPT とかどうか、言語またはデータベースの無効なSQLDriverConnect ダイアログ ボックスを再表示します。If the DriverCompletion parameter value is SQL_DRIVER_COMPLETE or SQL_DRIVER_PROMPT and if the language or database is invalid, SQLDriverConnect redisplays the dialog box.

SQLDriverConnect の HADR サポートSQLDriverConnect Support for High Availability, Disaster Recovery

使用しての詳細についてはSQLDriverConnectへの接続に、Always On 可用性グループAlways On availability groupsクラスターを参照してくださいSQL Server Native Client のサポート高可用性、ディザスター リカバリーします。For more information about using SQLDriverConnect to connect to a Always On 可用性グループAlways On availability groups cluster, see SQL Server Native Client Support for High Availability, Disaster Recovery.

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

SQLDDriverConnect では、ダイアログ ボックスの確認が有効になっている ODBC のログインを使用します。SQLDDriverConnect will use the ODBC Login dialog boxwhen prompting is enabled. これにより、プリンシパル サーバーとそのフェールオーバー パートナーの両方に対して SPN を入力できます。This allows SPNs to be entered for both the principal server and its failover partner.

SQLDriverConnect が新しい接続文字列キーワードを受け入れるServerSPNFailoverPartnerSPN、し、新しい接続属性である SQL_COPT_SS_SERVER_SPN および SQL_COPT_SS_ が認識されますFAILOVER_PARTNER_SPN します。SQLDriverConnect will accept the new connection string keywords ServerSPN and FailoverPartnerSPN, and will recognize the new connection attributes SQL_COPT_SS_SERVER_SPN and SQL_COPT_SS_FAILOVER_PARTNER_SPN.

接続属性の値が複数指定されている場合は、DSN の値や接続文字列の値より、プログラムによって設定された値が優先されます。When a connection attribute value is specified more than once, a value that is set programmatically takes precedence over the value in a DSN and a value in a connection string. DSN の値は接続文字列の値より優先されます。A value in a DSN takes precedence over a value in a connection string.

接続が開いている場合、SQL ServerSQL Server Native Client では、SQL_COPT_SS_MUTUALLY_AUTHENTICATED および SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD が、接続を開くときに使用された認証方式に設定されます。When a connection is opened, SQL ServerSQL Server Native Client sets SQL_COPT_SS_MUTUALLY_AUTHENTICATED and SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD to the authentication method used to open the connection.

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

使用例Examples

次の呼び出しに必要なデータ量が少なくを示していますSQLDriverConnect:。The following call illustrates the least amount of data required for SQLDriverConnect:

SQLDriverConnect(hdbc, hwnd,  
    (SQLTCHAR*) TEXT("DRIVER={SQL Server Native Client 10};"), SQL_NTS, szOutConn,  
    MAX_CONN_OUT, &cbOutConn, SQL_DRIVER_COMPLETE);  

次の接続文字列は、最低限必要なデータを示していますときに、 DriverCompletionパラメーター値が SQL_DRIVER_NOPROMPT:。The following connection strings illustrate minimum required data when the DriverCompletion parameter value is SQL_DRIVER_NOPROMPT:

"DSN=Human Resources;Trusted_Connection=yes"  
  
"FILEDSN=HR_FDSN;Trusted_Connection=yes"  
  
"DRIVER={SQL Server Native Client 10};SERVER=(local);Trusted_Connection=yes"  

参照See Also

SQLDriverConnect 関数 SQLDriverConnect Function
ODBC API 実装の詳細 ODBC API Implementation Details
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)