SQLDriverConnect

適用対象: はいSQL Server (サポートされているすべてのバージョン) はいAzure SQL データベース はいAzure SQL Managed Instance はいAzure Synapse Analytics はいParallel Data Warehouse

SQL Server Native Client ODBC ドライバーでは、接続文字列のキーワードを置き換えたり、拡張したりするための接続属性を定義します。 接続文字列のいくつかのキーワードには、SQL Server Native Client ODBC ドライバーが指定する既定値があります。

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

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

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

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

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

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

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」を参照してください。

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

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

SQLDriverConnect は新しい接続文字列キーワード Serverspnfailoverpartnerspn を受け入れ、新しい接続属性 SQL_COPT_SS_SERVER_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)