テクニカル ノート 48: MFC データベース アプリケーション用の ODBC セットアップおよび管理プログラムの作成

Note

次のテクニカル ノートは、最初にオンライン ドキュメントの一部とされてから更新されていません。 結果として、一部のプロシージャおよびトピックが最新でないか、不正になります。 最新の情報について、オンライン ドキュメントのキーワードで関係のあるトピックを検索することをお勧めします。

MFC データベース クラスを使用するアプリケーションには、ODBC コンポーネントをインストールするセットアップ プログラムが必要です。 また、既定のドライバーを指定し、データ ソースを構成するために、使用可能なドライバーに関する情報を取得する ODBC 管理プログラムが必要な場合もあります。 ここでは、ODBC インストーラー API を使用してこれらのプログラムを作成する方法について説明します。

ODBC セットアップ プログラムの作成

MFC データベース アプリケーションでは、ODBC ドライバー マネージャー (ODBC.DLL) と ODBC ドライバーを使用してデータ ソースにアクセスできるようにする必要があります。 多くの ODBC ドライバーでは、追加のネットワークと通信 DLL も必要です。 ほとんどの ODBC ドライバーには、必要な ODBC コンポーネントをインストールするセットアップ プログラムが付属しています。 MFC データベース クラスを使用するアプリケーション開発者は、次を行えます。

  • ドライバー固有のセットアップ プログラムを使用して、ODBC コンポーネントをインストールする。 これを行うために、開発者が追加の作業を行う必要はありません。ドライバーのセットアップ プログラムを再配布するだけで済みます。

  • または、独自のセットアップ プログラムを作成することもできます。これにより、ドライバー マネージャーとドライバーがインストールされます。

ODBC インストーラー API を使用して、アプリケーション固有のセットアップ プログラムを作成できます。 インストーラー API の関数は、ODBC インストーラーの DLL — ODBCINST.DLL (16 ビット Windows の場合) および ODBCCP32.DLL (Win32 の場合) によって実装されます。 アプリケーションは、インストーラー DLL で SQLInstallODBC を呼び出すことができます。これにより、ODBC ドライバーマネージャー、ODBC ドライバー、および必要な変換プログラムがインストールされます。 次に、インストールされているドライバーと変換プログラムを ODBCINST.INI ファイル (またはレジストリの NT) に記録します。 SQLInstallODBC には、ODBC.INF ファイルへの完全なパスが必要です。これには、インストールするドライバーの一覧が含まれており、各ドライバーを構成するファイルが説明されています。 また、ドライバー マネージャーや変換プログラムに関する同様の情報も含まれています。 通常、ODBC.INF ファイルは、ドライバーの開発者によって提供されます。

プログラムでは、個々の ODBC コンポーネントをインストールすることもできます。 ドライバー マネージャーをインストールするために、プログラムはまずインストーラー DLL で SQLInstallDriverManager を呼び出し、ドライバー マネージャーのターゲット ディレクトリを取得します。 これは、通常、Windows DLL が置かれているディレクトリです。 その後、プログラムは ODBC.INF ファイルの [ODBC Driver Manager] セクションの情報を使用して、ドライバー マネージャーと関連ファイルをインストール ディスクからこのディレクトリにコピーします。 個々のドライバーをインストールするために、プログラムは最初にインストーラー DLL で SQLInstallDriver を呼び出し、ドライバーの使用を ODBCINST.INI ファイル (またはNT のレジストリ) に追加します。 SQLInstallDriver は、ドライバーのターゲット ディレクトリ (通常は Windows DLL が置かれているディレクトリ) を返します。 その後、プログラムは ODBC.INF ファイルのドライバーのセクションにある情報を使用して、ドライバー DLL と関連ファイルをインストール ディスクからこのディレクトリにコピーします。

ODBC.INF, ODBCINST.INI の詳細と、インストーラー API の使用方法については、ODBC SDK 「プログラマーズ リファレンス」の第 19 章「Installing ODBC Software」を参照してください。

ODBC 管理者の作成

MFC データベース アプリケーションでは、次の 2 つの方法のいずれかを使用して、ODBC データ ソースの設定と構成を行うことができます。

  • ODBC 管理者を使用する (プログラムまたはコントロール パネルの項目として使用できます)。

  • 独自のプログラムを作成して、データ ソースを構成する。

データ ソースを構成するプログラムによって、インストーラー DLL への関数呼び出しが行われます。 インストーラー DLL は、セットアップ DLL を呼び出して、データ ソースを構成します。 ドライバーごとに 1 つのセットアップ DLL があります。これには、ドライバー DLL 自体、または別の DLL を指定できます。 セットアップ DLL は、データソースに接続するためにドライバーが必要とする情報と、既定の変換プログラム (サポートされている場合) をユーザーに要求します。 次に、インストーラー DLL と Windows API を呼び出して、この情報を ODBC.INI ファイル (またはレジストリ) に記録します。

ユーザーがデータ ソースを追加、変更、および削除できるダイアログ ボックスを表示するために、プログラムはインストーラー DLL で SQLManageDataSources を呼び出します。 この関数は、コントロール パネルからインストーラー DLL が呼び出されると起動します。 データソースを追加、変更、または削除するために、SQLManageDataSources はそのデータ ソースに関連付けられているドライバーのセットアップ DLL で ConfigDSN を呼び出します。 データ ソースを直接追加、変更、または削除するために、プログラムはインストーラー DLL で SQLConfigDataSource を呼び出します。 プログラムは、データ ソースの名前と、実行するアクションを指定するオプションを渡します。 SQLConfigDataSource はセットアップ DLL で ConfigDSN を呼び出し、SQLConfigDataSource からそれに引数を渡します。

詳細については、ODBC SDK の「プログラマーズ リファレンス」の第 23 章「Setup DLL Function Reference」および第 24 章「Installer DLL Function Reference」を参照してください。

関連項目

番号順テクニカル ノート
カテゴリ別テクニカル ノート