[Install & Setup] | ||||||||||||
MDACを新バージョンにアップグレードする方法
|
||||||||||||
|
解説 |
MDAC(Microsoft Data Access Components)は、Windowsアプリケーションからデータベースにアクセスするために用意された、汎用的で標準的なインターフェイスの総称である。MDACに含まれるODBC(Open Database Connectivity)やADO(ActiveX Data Object)、OLE DBといったインターフェイスを利用することで、アプリケーションはデータベースの種類やアクセスするテクノロジに依存することなく、汎用的な手順でデータベースにアクセスすることができる。
MDACの歴史は古く、Windows NTの時代からからバージョンアップが重ねられ、その機能は次々と拡張されてきた。Ver. 2.0以降に限っても、Ver. 2.0/2.1/2.5/2.6/2.7/2.8と多くのバージョンが存在する(実際には各バージョンに複数のService Packが提供されたため、MDACの実質的なバリエーションはさらに多い)。
こうした背景から、MDACを利用するアプリケーションによっては特定バージョンのMDACの機能に依存していて、インストールの要件にMDACのバージョンが指定されていることがしばしばある。例えば、アプリケーションではないが.NET Framework 2.0ランタイムの場合、Windows Serverに対してインストールする際、あらかじめMDAC 2.8以降にアップグレードしておくことが推奨されている。
- .NET Framework Version 2.0 再頒布可能パッケージ (x86)(マイクロソフト ダウンロードセンター)
こうしたアプリケーションでMDACのバージョンの要件を守らないと、場合によってはアプリケーションが正常稼働しない可能性もある。やはり事前に現在のMDACのバージョンを調べて、必要であれば要件を満たすバージョンのMDACにアップグレードすべきだろう。しかしMDACのアップグレード方法はWindows OSごとに異なるほか、Windows Updateなどのツールが使えない場合もあるなど単純ではない。本稿では、Windows 2000/Windows XP/Windows Server 2003を対象に、最適なMDACのアップグレードの方法を説明しよう。
操作方法 |
アップグレード可能なMDACのバージョンを確認する
|
まずは現在のMDACのバージョンを調べよう。その方法については関連記事が詳しいので参照していただきたい。現在のバージョンが判明したら、それとWindows OSの種類を下表で照らし合わせて、どのバージョンに更新できるのかを確認する。
MDACのバージョン | MDACのService Pack | Windows 2000 | Windows XP | Windows Server 2003 |
MDAC 2.5 | SP未適用 | 初期バージョン(サポート対象外) | N/A | N/A |
SP1 | Windows 2000 SP1に同梱(サポート対象外) | N/A | N/A | |
SP2 | Windows 2000 SP2に同梱(サポート対象外) | N/A | N/A | |
SP3 | Windows 2000 SP3/SP4に同梱 | N/A | N/A | |
MDAC 2.6 | SP未適用 | 単独でインストール可能(サポート対象外) | N/A | N/A |
SP1 | 単独でインストール可能(サポート対象外) | N/A | N/A | |
SP2 | 単独でインストール可能(サポート対象外) | N/A | N/A | |
MDAC 2.7 | SP未適用 | 単独でインストール可能(サポート対象外) | 初期バージョン(サポート対象外) | N/A |
SP1 | 単独でインストール可能 | Windows XP SP1/SP1aに同梱(サポート対象外) | N/A | |
MDAC 2.8 | SP未適用 | 単独でインストール可能 | 単独でインストール可能(サポート対象外) | 初期バージョン(サポート対象外) |
SP1 | 単独でインストール可能 | Windows XP SP2に同梱 | N/A | |
SP2 | N/A | N/A | Windows Server 2003 SP1/SP2に同梱 | |
MDACのバージョンとWindows OSとの関係(2007年8月上旬時点) | ||||
インストール可能なMDACは、各Windows OSによって大きく異なる。この中から、アプリケーションの要件やサポートの有無に応じて、最適なMDACのバージョンを選択する必要がある。 「単独でインストール可能」: MDACだけを単独でインストール(アップグレード)できる。 「Windows ?? SP?に同梱」: Windows OSのService PackにそのバージョンのMDACが含まれていて、そのService Packと一緒にアップグレードするよりほかない。 「初期バージョン」: そのWindows OSの初期状態でインストールされている。 「N/A」: 該当するMDACのバージョンは存在しない。 「(サポート対象外)」:マイクロソフトのサポート・ライフサイクルによって、すでにサポート対象から外れている。上位バージョンのMDACにアップグレードすることが望ましい。 |
この表で、現在のバージョンより上位のバージョンのMDACのうち、「単独でインストール可能」あるいは「Windows ?? SP?に同梱」であるバージョンが選択候補となる。その中から、アプリケーションの要件にあるMDACのバージョンを見つければよい。
サポート対象外のMDACにはセキュリティ・パッチが提供されない
見つかったMDACのバージョンがサポート対象内であれば、単にそれをインストールすればよい。厄介なのは、そのバージョンがすでにサポート対象外で、かつその上位バージョンが要件に含まれていない場合である。例えば、あるアプリケーションにMDAC 2.7が必要で、かつMDAC 2.8では動作が確認されていない場合、サポート対象外であることを承知でMDAC 2.7をインストールするか、そのアプリケーションの開発元にMDAC 2.8での動作確認・保証を求めるか、選択を迫られることになる。
前者しか選択できない場合、セキュリティ・パッチが提供されない脆弱な状況を強いられるため、セキュリティ・リスクを下げるための回避策を講じる必要がある。以下に記したMDACのセキュリティ・パッチの情報ページには、回避策なども記されているので参照していただきたい。
- [MS07-009]Microsoft Data Access Components の脆弱性により、リモートでコードが実行される(TechNetセキュリティ情報)
- [MS06-014]Microsoft Data Access Components (MDAC) の機能の脆弱性により、コードが実行される可能性がある(TechNetセキュリティ情報)
- [MS04-003]MDAC 機能のバッファ オーバーランにより、コードが実行される(TechNetセキュリティ情報)
- [MS03-033]MDAC 機能の未チェックのバッファにより、システムが侵害される(TechNetセキュリティ情報)
- [MS02-040]MDAC 機能の未チェックのバッファにより、システムが侵害される(TechNetセキュリティ情報)
Windows XP/Windows Server 2003ではService Packの更新が必要
さて前述の表を見ると、MDACのアップグレードにはOS用Service Packの更新が強いられる場合と、MDAC単独でアップグレードできる場合があることが分かる。
Windows XP/Windows Server 2003では、ほぼ前者の選択肢しかない。具体的には、サポート対象のOS用Service Pack(2007年8月上旬時点でWindows XPではService Pack 2以降、Windows Server 2003ではService Pack 1以降)に更新すると、自動的にMDACも最新バージョンに更新される。OSのService Packを据え置いたままMDACだけをアップグレードすることはできない(Windows XP SP1/SP1aではMDACのみVer. 2.8にアップグレードできるが、すでにサポート対象外)。
Windows 2000ではMDAC単独でアップグレードする
Windows 2000の場合、MDAC 2.5系列内のアップグレードにはOSのService Packの更新が必要だが、MDAC 2.6以降は単独でアップグレードできる。以下では、今後アップグレードの対象になる、後者のケースについて説明する。
MDACを単独でアップグレード(インストール)する場合、Windows Update/Microsoft Update/WSUS/自動更新は利用できない。これらのツールではMDACそのものは配信されていないためだ。そのため、ダウンロード・センターからMDACのインストール・パッケージを入手し、手動でインストールする必要がある。以下、2007年8月上旬時点でサポート対象のMDACのインストール・パッケージ用ダウンロード・ページを記す。
- MDAC 2.7 SP1 Refresh(ダウンロード・センター)
- MDAC 2.8 RTM(ダウンロード・センター)
- MDAC 2.8 SP1(ダウンロード・センター)
このうちMDAC 2.7 SP1については、インストールの前にMDACを使用するアプリケーションやサービスなどをすべて終了しておくこと。なぜならMDAC 2.7系列には、更新対象のMDAC関連ファイル(.DLLファイルや.EXEファイルなど)が稼働中のプログラムによって使用されたままだと、dllcacheにあるそのファイルがインストーラによって更新されずに古いまま残ってしまうからだ。この状態を回復するには、上位バージョンのMDACに更新するしかなく、やり直しが効かない。十分な注意が必要だ。
MDACを手動でインストールするには、Windowsに管理者権限でログオンしてから、上記のページでダウンロードしたインストール・パッケージMDAC_TYP.EXEを実行する。以下のようにMDACのインストール・ウィザードが起動されるので、画面の指示に従ってウィザードを進めて完了させればよい。
MDACのインストール・ウィザード |
ウィザードで指定すべきことは特になく、画面の指示に従ってウィザードを進めれば、インストール(アップグレード)は完了する。 |
ウィザードを操作することなくインストールを自動実行するには、以下のコマンドラインでMDAC_TYP.EXEを実行すればよい。
MDAC_TYPE.EXE /q:a /c:"dasetup.exe /q /n" |
最後の/nオプションを外すと、再起動も自動的に実行される。
なお、インストールの最後にシステムの再起動が要求されたら、再起動だけではなく管理者権限での再ログオンも実行すること。再ログオン時にMDACのコンポーネントの登録などの処理が実行されるためである。
この記事と関連性の高い別の記事
- MDACのバージョン調査ツールを利用する(TIPS)
このリストは、デジタルアドバンテージが開発した自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
「Windows TIPS」 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|