テクニカル ノート 48: MFC データベース アプリケーション用の ODBC セットアップおよび管理プログラムの作成
更新 : 2007 年 11 月
メモ : |
---|
次のテクニカル ノートは、最初にオンライン ドキュメントの一部とされてから更新されていません。結果として、一部のプロシージャおよびトピックが最新でないか、不正になります。最新の情報について、オンライン ドキュメントのキーワードで関係のあるトピックを検索することをお勧めします。 |
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」を参照してください。