Windows Server 2003(x64)での64ビットRDBMS利用

IntelはPC用64ビットプロセッサとしてIA-64アーキテクチャのItaniumを2001年5月に出荷しました(2002年7月にはItanium 2を出荷)。
それを受けてIA-64対応のWindows Server 2003ファミリのリリースが2003年4月23日から開始されました。

RDBMSの世界でもIA-64に対応すべくのWindows Server 2003(64bit)ファミリ用に以下の製品がリリースされました(いずれもIA-64対応版)。
・SQL Server 2000 Enterprise Edition (64-bit) ※2003年4月24日出荷
※ ・DB2 UDB ESE V8.2 for Windows on Itanium (IA64) on 64 bit systems
・Oracle9i Database Release 2 for Windows Server 2003 (64-bit:Itanium 2用) ※2003年4月出荷
・Oracle Database 10g Release 1 (10.1.0.2) for Microsoft Windows (64-bit:Itanium 2用) ※2004年4月出荷
しかしIA-64はそれまでのIA-32とは互換性がなく、IA-32との互換性をもつAMD64アーキテクチャの出現によってIA-64は衰退(または塩漬け)状態にあるようです。

Intel側もAMD64アーキテクチャ互換のEM64Tアーキテクチャの64ビットプロセッサを出荷しました。
※AMD64アーキテクチャのプロセッサは2003年に出荷され、EM64Tアーキテクチャのプロセッサは2004年に出荷されています。
AMD64アーキテクチャとEM64Tアーキテクチャを総称して通常は「x64」と呼びます(なお、「x86-64」「x86_64」と表す場合もあります)。

「x64」は「IA-64」に代わって64ビットコンピューティングの主流となりました。
Linuxにおけるx64対応化よりも遅れていたx64版Windows Server 2003(「Windows Server 2003 Enterprise x64 Edition」のリリースは2005年4月25日から開始されました。
(AMD64対応のBeta版は2003年10月15日に公開されx64対応正式版の開発自体は2005年3月に完了)

x64対応のWindows Server 2003ファミリ用RDBMS(x64)としては主に以下のものがあります。
・SQL Server 2005(2005年12月出荷見込み?)
※2005年9月時点ではSQL Server 2005 Enterprise Edition CTP(Community Technology Preview) 9月版が2005年9月20日に公開されています。
・IBM DB2 UDB Enterprise Server Edition V8.2.2 (64-bit) for Windows x64(2005年6月24日公開)
・Oracle Database 10g Release 2(2005年12月6日リリース予定)

ここではWindows Server 2003 Enterprise x64 Edition SP1(評価版:ビルド3790)上にVisual Studio 2005 Beta 2版とIBM DB2 Universal Database Enterprise Server Edition (64-bit) v8.2.2 Beta版を導入し、「VC#にて64-bitのDB2アクセスを行うサンプルアプリケーションの作成手順」を中心に説明します。


1.マシン環境



2.Windows Server 2003 Enterprise x64 Edition SP1環境



3.Visual Studio 2005 Beta 2の導入



4.DB2 UDB ESE 64bit v8.2.2の導入

DB2 v8.2.2 x64版(IBM DB2 UDB Enterprise Server Edition V8.2.2 (64-bit) for Windows x64)をインストールします。
UNIX系のDB2インストールの場合とは違い、Windows用DB2インストール時のオプションはほとんどデフォルトのままで構いません。


5.IBM DB2 Data Access Application Blocks for .NETの導入

「IBM DB2 Data Access Application Blocks for .NET」はSQL Server用「Microsoft .NET Application Blocks」のDB2版でDB2 .NET Dataプロバイダを使用するライブラリです。
Visual Studio 2005でDB2を効率よく使用するために「IBM DB2 Data Access Application Blocks for .NET」( .NET Framework 1.1対応版)をインストールしておきます。


6.Visual Studio 2005によるDB2(x64)アクセスを行うサンプルアプリケーションの作成手順

  1. Visual Studio 2005の起動

  2. [ファイル]−[新しいプロジェクト]による新しいプロジェクトの作成
    ・プロジェクトの種類:Visual C#のWindows
    ・テンプレート名:Windowsアプリケーション
    ・プロジェクト名:MyApp1(任意です)

  3. [プロジェクト]−[MyApp1のプロパティ]によるプラットフォームターゲットのCPU選択
    「ビルド」のプラットフォームターゲット:AnyCPU(デフォルト)のままにしておきます。
    AnyCPUの他に「x86」「x64」「Itanium」があります。

  4. サンプルプロジェクトで使用するデータソースの定義


  5. Visual Studioの[データ]−[データソースの表示]でデータソースウィンドウを表示させます。
    Visual Studioの右側にデータソースウィンドウが表示されます。



  6. コントロールの自動配置
    データソースウィンドウの中から「IBM DB2 Application Blocks for .NET」の「Create Database Objects」(batファイル)で追加作成したDEPTテーブルをフォームにドラッグします。
    これによりdataSet1, dEPTBindingSource, dEPTTableAdapter, dEPTBindingNavigatorという名称で各コントロールが自動配置されます(これはVisual Studio 2005の新機能の一つです)。

  7. [デバッグ]−[デバッグ開始]でコンパイルが実行されます。



    ここでエラーが無ければフォームの実行画面が表示されます。



  8. [ビルド]−[MyApp1のビルド]でMyApp1.exeを作成してVisual Studioを終了します(プロジェクトを保存します)。

  9. MyApp1.exeの単独実行



    WindowsタスクマネージャのMyApp1.exeの部分に「*32」表示が無いため64ビット .NETアプリケーションとして動作していることが分かります。
    但し、.NETアプリケーションであるMyApp1.exeのPEヘッダには32ビットを示すモードが設定されています。


Visual StudioのサーバエクプローラでDB2のデータベースのテーブル内容を確認することもできます。


【補足説明】
上記ではデータソースウィンドウからのドラッグ&ドロップによるコントロールの自動配置を使用しましたが次のような手動配置でも構いません。

  1. SAMPLEデータベースのデータソースウィンドウ表示は上記の操作通りです。

  2. まずツールボックスのデータにあるDataGridViewをフォームにドラッグします。
    この時に表示される「DataGridViewタスク」のデータソースの選択でDB2付属のSAMPLEデータベースのORGテーブルをDataSet1の中から選択します。
    選択後のプルダウンメニューには「ORGBindingSource」と表示されます。



  3. 次にツールボックスのデータにあるBindingNavigatorをフォームにドラッグします。
    本ドラッグ後にBindingNavigatorの「BindingSource」プロパティの値として「ORGBindingSource」を選択します。



  4. [デバッグ]−[デバッグ開始]でコンパイルが実行されます。
    ここでエラーが無ければフォームの実行画面が表示されます。





7.SQL Server 2005 Enterprise Edition CTP(x64)の利用