SQLInstallDriverManager 関数
準拠
導入されたバージョン: ODBC 1.0: Windows XP Service Pack 2、Windows Server 2003 Service Pack 1 以降のオペレーティング システムで非推奨
まとめ
SQLInstallDriverManager は、ODBC コア コンポーネントのインストール先ディレクトリのパスを返します。 呼び出し元のプログラムは、ドライバー マネージャーのファイルを実際にターゲット ディレクトリにコピーする必要があります。
構文
BOOL SQLInstallDriverManager(
LPSTR lpszPath,
WORD cbPathMax,
WORD * pcbPathOut);
引数
lpszPath
[出力]インストールのターゲット ディレクトリのパス。
cbPathMax
[入力] lpszPath の長さ。 これは、少なくとも_MAX_PATHバイトである必要があります。
pcbPathOut
[出力] lpszPath で返される合計バイト数 (null 終了バイトを除く)。 返すことができるバイト数が cbPathMax 以上の場合、 lpszPath のパスは cbPathMax から null 終端文字を引いた値に切り捨てられます。 pcbPathOut 引数には null ポインターを指定できます。
戻り値
関数は成功した場合は TRUE を返し、失敗した場合は FALSE を返します。
診断
SQLInstallDriverManager から FALSE が返されると、関連付けられている *pfErrorCode 値を取得するには、SQLInstallerError を呼び出します。 次の表に、SQLInstallerError によって返される *pfErrorCode 値の一覧を示し、この関数のコンテキストでそれぞれについて説明します。
*pfErrorCode | エラー | 説明 |
---|---|---|
ODBC_ERROR_GENERAL_ERR | 一般的なインストーラー エラー | 特定のインストーラー エラーがないエラーが発生しました。 |
ODBC_ERROR_INVALID_BUFF_LEN | バッファー長が無効です | lpszPath 引数は、出力パスを格納するのに十分な大きさではありません。 バッファーには、切り捨てられたパスが含まれています。 cbPathMax 引数が_MAX_PATH未満でした。 |
ODBC_ERROR_USAGE_UPDATE_FAILED | コンポーネントの使用数をインクリメントまたはデクリメントできませんでした | インストーラーで ODBC コア コンポーネントの使用数をインクリメントできませんでした。 |
ODBC_ERROR_OUT_OF_MEM | メモリ不足 | メモリ不足のため、インストーラーで関数を実行できませんでした。 |
説明
SQLInstallDriverManager が呼び出され、ODBC コア コンポーネントのパスが返され、システム情報でコンポーネントの使用数が増加します。 ドライバー マネージャーのバージョンが既に存在するが、ドライバーのコンポーネントの使用数が存在しない場合、新しいコンポーネントの使用数の値は 2 に設定されます。
アプリケーション・セットアップ・プログラムは、コア・コンポーネント・ファイルを物理的にコピーし、ファイル使用量のカウントを維持する役割を担います。 コア コンポーネント ファイルが以前にインストールされていない場合は、アプリケーション セットアップ プログラムでファイルをコピーし、ファイルの使用数を作成する必要があります。 ファイルが以前にインストールされている場合、セットアップ プログラムはファイルの使用数を増やすだけです。
以前のバージョンのドライバー マネージャーがアプリケーション セットアップ プログラムによって以前にインストールされている場合は、コア コンポーネントをアンインストールしてから再インストールし、コア コンポーネントの使用数が有効になるようにする必要があります。 SQLRemoveDriverManager を最初に呼び出して、コンポーネントの使用数を減らします。 その後、SQLInstallDriverManager を呼び出して、コンポーネントの使用数を増やす必要があります。 アプリケーション・セットアップ・プログラムは、古いコア・コンポーネント・ファイルを新しいファイルに置き換える必要があります。 ファイル使用量の数は変わらず、古いバージョンのコア コンポーネント ファイルを使用した他のアプリケーションでは、新しいバージョン ファイルが使用されるようになります。
ODBC コア コンポーネント、ドライバー、およびトランスレーターを新しくインストールする場合、アプリケーション セットアップ プログラムは、SQLInstallDriverManager、SQLInstallDriverEx、SQLConfigDriver (fRequest of ODBC_INSTALL_DRIVER)、SQLInstallTranslatorEx の順に次の関数を呼び出す必要があります。 コア コンポーネント、ドライバー、およびトランスレーターをアンインストールする場合、アプリケーション セットアップ プログラムは、 SQLRemoveTranslator、 SQLRemoveDriver、SQLRemoveDriverManager の順に次の関数 を呼び出す必要があります。 これらの関数は、この順序で呼び出す必要があります。 すべてのコンポーネントのアップグレードでは、すべてのアンインストール関数を順番に呼び出してから、すべてのインストール関数を順番に呼び出す必要があります。
関連する関数
対象 | 解決方法については、 |
---|---|
ドライバーの追加、変更、または削除 | SQLConfigDriver |
ドライバーのインストール | SQLInstallDriverEx |
トランスレーターのインストール | SQLInstallTranslatorEx |
ドライバーの削除 | SQLRemoveDriver |
ドライバー マネージャーの削除 | SQLRemoveDriverManager |
トランスレーターを削除する | SQLRemoveTranslator |