SQLCreateDataSource 関数

準拠
導入されたバージョン: ODBC 2.0

まとめ
SQLCreateDataSource には、ユーザーがデータ ソースを追加できるダイアログ ボックスが表示されます。

構文

  
BOOL SQLCreateDataSource(  
     HWND    hwnd,  
     LPSTR   lpszDS);  

引数

hwnd
[入力]親ウィンドウ ハンドル。

lpszDS
[入力]データ ソース名。 lpszDS には、null ポインターまたは空の文字列を指定できます。

戻り値

SQLCreateDataSource は、データ ソースが作成された場合に TRUE を返します。 それ以外の場合は、FALSE を返します。

診断

SQLCreateDataSource が FALSE を返すと、SQLInstallerError を呼び出すことによって、関連付けられた *pfErrorCode 値を取得できます。 次の表に、SQLInstallerError によって返される *pfErrorCode 値の一覧を示し、この関数のコンテキストでそれぞれについて説明します。

*pfErrorCode エラー 説明
ODBC_ERROR_GENERAL_ERR 一般的なインストーラー エラー 特定のインストーラー エラーがないエラーが発生しました。
ODBC_ERROR_INVALID_HWND 無効なウィンドウ ハンドル hwnd 引数が無効または NULL です。
ODBC_ERROR_INVALID_DSN 無効な DSN lpszDS 引数には、DSN に対して無効な文字列が含まれていました。
ODBC_ERROR_REQUEST_FAILED 要求 が失敗しました ODBC_ADD_DSN オプションを使用した ConfigDSN の呼び出しに失敗しました。
ODBC_ERROR_LOAD_LIBRARY_FAILED ドライバーまたはトランスレーターのセットアップ ライブラリを読み込めませんでした ドライバー セットアップ ライブラリを読み込めませんでした。
ODBC_ERROR_USER_CANCELED ユーザーが取り消した操作 ユーザーが新しいデータ ソースの作成を取り消しました。
ODBC_ERROR_CREATE_DSN_FAILED 要求された DSN を作成できませんでした データベースに接続できませんでした。ファイル DSN の SQLDriverConnect の呼び出しで、正常な接続が返されませんでした。

ファイルに書き込めませんでした。
ODBC_ERROR_OUT_OF_MEM メモリ不足 メモリ不足のため、インストーラーで関数を実行できませんでした。

説明

hwnd が null の場合、SQLCreateDataSource は FALSE を返します。 それ以外の場合は、次の図に示すように、[ 新しいデータ ソースの作成 ] ダイアログ ボックスが表示され、設定するデータ ソースの種類を選択するためのウィザード ページが表示されます。

[新しいデータ ソースの作成] ダイアログ ボックス: [CH23A] の種類選択します

既定のオプションは [ファイル データ ソース] です。 データ ソースが選択され、[ 次へ ] をクリックすると、インストールされているドライバーの一覧を含む次のウィザード ページが表示されます。

[新しいデータ ソースの作成] ダイアログ ボックス: ドライバー の選択

[キャンセル] をクリックすると、ダイアログ ボックスが表示されなくなり、SQLCreateDataSource は FALSE を返し、エラー コードは ODBC_ERROR_USER_CANCELED。 [ユーザー データ ソース] または [システム データ ソース] オプションが選択されている場合、[詳細設定] ボタンは使用できません。

[ 次へ ] ボタンをクリックすると、選択されたデータ ソースの種類に応じて、次のいずれかが発生します。

  • [ファイル データ ソース] が選択されている場合、ユーザーがファイル名を入力するためのウィザード ページが表示されます。

  • [ユーザー データ ソース] または [システム データ ソース] が選択されている場合は、データ ソースとドライバーの種類を表示するウィザード ページが確認用に表示され、[完了] をクリックすると、データ ソースが設定されます。

[新しいデータ ソースの作成] ウィザード ページで [詳細設定 ] をクリックすると、ユーザーがドライバー固有の情報を入力するためのウィザード ページが表示されます。 このダイアログ ボックスのテキスト ボックスに、次の図に示すように、ドライバーとキーワードを returns で区切って入力します。

[ファイル DSN 作成設定の詳細設定] ダイアログ ボックス

ドライバー固有のその他のキーワードについては、 SQLDriverConnect の説明を参照してください。 DSN を除くすべてが許可されます。

[ この接続の確認 ] オプションの既定値は TRUE です。 この既定値は、このウィザード ページがアクティブ化されているかどうかに関係なく適用されます。 [OK] をクリックすると、テキスト ボックスに指定された文字列と [この接続の確認] オプションの値がキャッシュされます。 ([ 閉じる ] ボタンまたは [キャンセル] をクリックすると、テキスト ボックスに指定された文字列と [ この接続の確認 ] オプション値がキャッシュされないため、新しく入力されたドライバー固有の情報は失われます)。

最初のウィザード ページで [ファイル データ ソース ] が選択されている場合、ドライバーが選択され、[詳細ウィザード] ページにキーワード値が入力された後、ユーザーはファイル名の入力を求められます。 [ 参照 ] をクリックしてファイル名を検索します。この場合、[ 参照 ] ボックスの既定のディレクトリは、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersionの CommonFileDir で指定されたパスと "ODBC\DataSources" の組み合わせで指定されます。 (CommonFileDir が "C:\Program Files\Common Files" の場合、既定のディレクトリは "C:\Program Files\Common Files\ODBC\Data Sources" になります)。

ファイル名を入力し、[ 次へ ] をクリックすると、入力したファイル名がオペレーティング システムの標準ファイル命名規則に照らして有効かどうかがチェックされます。 ファイル名が無効な場合は、エラー メッセージ ボックスに無効なファイル名が入力されたことをユーザーに通知します。 ユーザーがメッセージ ボックスを確認すると、ファイル名が入力されたウィザード ページにフォーカスが戻ります。 ファイル名が有効な場合は、次の図に示すように、選択したキーワードと値のペアを表示するウィザード ページが確認用に表示されます。

[新しいデータ ソースの作成] ダイアログ ボックス: を確認する

[完了] がクリックされ、データ ソースの種類として [ファイル データ ソース] が選択され、[この接続の確認] オプションが TRUE の場合は、SAVEFILE キーワードと DRIVER キーワードを使用して SQLDriverConnect が呼び出されます。 DriverCompletion 引数は SQL_DRIVER_COMPLETE に設定されます。 SAVEFILE キーワードのファイル名は入力または選択された名前で、DRIVER キーワードのドライバー名は選択された名前です。 ドライバー固有の接続文字列が [詳細ウィザード] ページで指定された場合、その文字列は DRIVER キーワードの後に追加されます。

SQLDriverConnect がSQL_SUCCESSを返す場合、ドライバー マネージャーによってファイル DSN が作成されます。 SQLCreateDataSource は TRUE を返します。 SQLDriverConnect がSQL_SUCCESSを返さない場合、警告メッセージ ボックスは、データ ソースに接続できなかったことを示します。 接続情報が最小限の DSN は引き続き作成できます。 このメッセージ ボックスを使用すると、ユーザーはファイル DSN の作成を取り消すか、続行できます。

ユーザーが DSN の作成を続行することを選択した場合、このプロセスは[ この接続を確認 する] オプションが FALSE に設定されているかのように続行されます。 ユーザーが取り消しを選択した場合、 SQLCreateDataSource に対して FALSE が返され、エラー コードは ODBC_ERROR_CREATE_DSN_FAILED。

データ ソースの種類として [ファイル データ ソース ] が選択され、[ この接続の確認 ] オプションが FALSE の場合は、[詳細ウィザード] ページから DRIVER キーワードとユーザー指定の接続文字列 (存在する場合) を使用してファイル DSN が作成されます。 ファイルの作成が成功した場合は、 SQLCreateDataSource に対して TRUE が返されます。 ファイルの作成が成功しなかった場合は、オペレーティング システムから返されたエラーをユーザーに通知するエラー メッセージ ボックスが表示されます。 SQLCreateDataSource の場合は FALSE が返され、エラー コードは ODBC_ERROR_CREATE_DSN_FAILED。 ファイル データ ソースの詳細については、「 ファイル データ ソースを使用した接続」を参照するか、「 SQLDriverConnect」を参照してください。

データ ソースの種類として [ユーザー ] または [ システム データ ソース ] が選択されている場合は、ドライバー セットアップ ライブラリの ConfigDSN が ODBC_ADD_DSN fRequest で呼び出されます。 詳細については、「 ConfigDSN」を参照してください。

対象 解決方法については、
データ ソースの管理 SQLManageDataSources