次の方法で共有


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

注意

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

MFC (Microsoft Foundation Class) データベース クラスを使用するアプリケーションでは、ODBC (Open Database Connectivity) のコンポーネントをインストールするセットアップ プログラムが必要です。 また、既定ドライバーの指定やデータ ソースの設定を行うためのドライバー情報を取得する ODBC データ ソース アドミニストレーターも必要です。 ここでは、ODBC インストーラー API を使用してこのようなプログラムを作成する方法について説明します。

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

MFC データベース アプリケーションでデータ ソースを利用するためには、ODBC ドライバー マネージャー (ODBC.DLL) と ODBC ドライバーが必要です。 多くの ODBC ドライバーでは、さらに別のネットワーク用 DLL や通信 DLL も必要です。 ほとんどの ODBC ドライバーは、必要な ODBC コンポーネントをインストールするセットアップ プログラムと共に出荷されています。 MFC データベース クラスを使用しているアプリケーションの開発者は、次のいずれかの方法を採用できます。

  • ODBC のコンポーネントをインストールするために、ドライバー固有のセットアップ プログラムを使用します。 この方法では、開発者はドライバーのセットアップ プログラムを再頒布するだけでよく、それ以上の作業は不要です。

  • ドライバー マネージャーとドライバーをインストールする独自のセットアップ プログラムを用意します。

アプリケーション固有のセットアップ プログラムを作成するには、ODBC インストーラー API を使用します。 インストーラー API に含まれる関数は、ODBC インストーラー DLL ODBCINST.DLL (Win16) または ODBCCP32.DLL (Win32) を利用して実装されています。 アプリケーションからインストーラー DLL の SQLInstallODBC を呼び出すと、ODBC ドライバー マネージャー、ODBC ドライバー、必要な翻訳プログラムなどがインストールされます。 さらに、インストールされたドライバーと翻訳プログラムが ODBCINST.INI ファイル (Windows NT ではレジストリ) に記録されます。 SQLInstallODBC には、ODBC.INF ファイルの完全パス名を指定する必要があります。このファイルには、インストールするドライバーのリストと、各ドライバーを構成するファイルが記述されています。 さらに、各ドライバー マネージャーや翻訳プログラムについても同様の情報が記述されています。 ODBC.INF ファイルは、通常はドライバーの開発者によって提供されます。

ODBC のそれぞれのコンポーネントは、プログラムからインストールすることもできます。 ドライバー マネージャーをインストールするには、まずインストーラー DLL の SQLInstallDriverManager を呼び出し、ドライバー マネージャーをインストールする場所を調べます。 通常、これは Windows DLL があるフォルダーになります。 次に、ODBC.INF ファイルの [ODBC Driver Manager] セクションの情報を利用して、ドライバー マネージャーや関連するファイルをセットアップ ディスクからコピーします。 各ドライバーをインストールするには、まずインストーラー DLL の SQLInstallDriver を呼び出して、ODBCINST.INI ファイル (Windows NT ではレジストリ) にそのドライバーの情報を追加します。 SQLInstallDriver は、ドライバーをインストールするフォルダー (通常は Windows DLL があるフォルダー) を返します。 プログラムでは、ODBC.INF ファイルのドライバー セクションにある情報を利用して、ドライバー DLL と関連ファイルをセットアップ ディスクからコピーします。

ODBC.INF、ODBCINST.INI、インストーラー API の使い方などの詳細については、『ODBC Programmer's Reference』の第 18 章「Installing ODBC Components」を参照してください。

ODBC データ ソース アドミニストレーターの作成

MFC のデータベース アプリケーションで ODBC データ ソースのセットアップや設定を行うには、次の 2 とおりの方法があります。

  • ODBC データ ソース アドミニストレーターを使用します。プログラムとして、またはコントロール パネルの項目として用意されています。

  • データ ソースを設定する独自のプログラムを作成します。

データ ソースを設定するプログラムは、インストーラー DLL の関数を呼び出します。 インストーラー DLL は、セットアップ DLL を呼び出してデータ ソースを設定します。 ドライバーごとにセットアップ DLL が 1 つずつありますが、これはドライバー DLL 自体の場合もあれば、別の DLL となっている場合もあります。 セットアップ DLL では、データ ソースとの接続に必要な情報や、既定の翻訳プログラム (サポートされている場合) などの指定をユーザーに求めます。 指定した内容は、インストーラー DLL と Windows API を使用して ODBC.INI ファイル (またはレジストリ) に記録されます。

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

詳細については、『ODBC Programmer's Reference』の第 22 章「Setup DLL API Reference」および第 23 章「Installer DLL API Reference」を参照してください。

参照

その他の技術情報

番号順テクニカル ノート

カテゴリ別テクニカル ノート