SQLDriverConnect

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

SQL Server Native Client ODBC ドライバーは、接続文字列のキーワード (keyword)を置き換えるか強化する接続属性を定義します。 複数の接続文字列キーワード (keyword)には、SQL Server Native Client ODBC ドライバーで指定された既定値があります。

SQL Server Native Client ODBC ドライバーで使用できるキーワード (keyword)の一覧については、「SQL Server Native Client での接続文字列キーワードの使用」を参照してください

SQL Server の接続属性とドライバーの既定の動作の詳細については、「SQLSetConnectAttr」を参照してください

SQL Server Native Client で有効な接続文字列 キーワード (keyword)については、「SQL Server Native Client での接続文字列キーワードの使用」を参照してください

SQLDriverConnectDriverCompletion パラメーター値がSQL_DRIVER_PROMPT、SQL_DRIVER_COMPLETE、またはSQL_DRIVER_COMPLETE_REQUIREDの場合、SQL Server Native Client ODBC ドライバーは表示されるダイアログ ボックスからキーワード (keyword)値を取得します。 キーワード (keyword)値が接続文字列で渡され、ユーザーがダイアログ ボックスのキーワード (keyword)の値を変更しない場合、SQL Server Native Client ODBC ドライバーは接続文字列の値を使用します。 接続文字列で値が設定されていない場合、ユーザーがダイアログ ボックスで割り当てを行わないと、ドライバーは既定値を使用します。

ドライバーの接続ダイアログ ボックスを表示する必要がある (または必要になる可能性がある) 場合は、SQLDriverConnect に有効な WindowHandle を指定する必要があります。 無効なハンドルを指定すると、SQL_ERROR が返されます。

DRIVER キーワードまたは DSN キーワードを指定します。 ODBC は、これらの 2 つのキーワードが両方指定されている場合、左側に指定されているキーワードを使用し、他方を無視するように指示します。 DRIVER が指定されているか、2 つのうち左端で、SQLDriverConnectDriverCompletion パラメーター値がSQL_DRIVER_NOPROMPT場合は、Standard Edition RVER キーワード (keyword)と適切な値が必要です。

SQL_DRIVER_NOPROMPT が指定されているときは、ユーザー認証に関するキーワードに値が指定されている必要があります。 ドライバーは、文字列 "Trusted_Connection=yes" または UID キーワードと PWD キーワードの両方が指定されていることを確認します。

DriverCompletion パラメーター値がSQL_DRIVER_NOPROMPTまたはSQL_DRIVER_COMPLETE_REQUIREDで、言語またはデータベースが接続文字列から取得され、いずれかが無効な場合、SQLDriverConnect はSQL_ERRORを返します。

DriverCompletion パラメーター値がSQL_DRIVER_NOPROMPTまたはSQL_DRIVER_COMPLETE_REQUIREDで、言語またはデータベースが ODBC データ ソース定義から取得され、いずれかが無効な場合、SQLDriverConnect は指定されたユーザー ID に既定の言語またはデータベースを使用し、SQL_SUCCESS_WITH_INFOを返します。

DriverCompletion パラメーターの値がSQL_DRIVER_COMPLETEまたはSQL_DRIVER_PROMPTで、言語またはデータベースが無効な場合は、SQLDriverConnect によってダイアログ ボックスが再表示されます。

SQLDriverConnect の HADR サポート

SQLDriverConnect を使用して Always On 可用性グループ クラスターに接続する方法の詳細については、「高可用性、ディザスター リカバリーのための SQL Server Native Client Support」を参照してください

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

SQLDDriverConnect は、プロンプトが有効な場合に ODBC ログイン ダイアログ ボックスを使用します。 これにより、プリンシパル サーバーとそのフェールオーバー パートナーの両方に対して SPN を入力できます。

SQLDriverConnect は、新しい 接続文字列 キーワード (keyword) ServerSPNFailoverPartnerSPN を受け入れ、新しい接続属性SQL_COPT_SS_Standard EditionRVER_SPNとSQL_COPT_SS_FAILOVER_PARTNER_SPNを認識します。

接続属性の値が複数指定されている場合は、DSN の値や接続文字列の値より、プログラムによって設定された値が優先されます。 DSN の値は接続文字列の値より優先されます。

接続が開かれると、SQL Server Native Client はSQL_COPT_SS_MUTUALLY_AUTHENTICATEDを設定し、接続を開くために使用される認証方法にSQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHODします。

SPN の詳細については、「クライアント接続 (ODBC)」の「サービス プリンシパル名 (SPN)」を参照してください

次の呼び出しは、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されている場合の最低限必要なデータを示しています。

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

参照

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