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.マシン環境
- CPU:AMD Athlon64 3000+ 2GHz
- メモリ:1GB
2.Windows Server 2003 Enterprise x64 Edition SP1環境
3.Visual Studio 2005 Beta 2の導入
- セットアップ画面
x64対応の.NET Framework 2.0もインストールされます。
Visual Studio Toolsとしてx86,x64両方のデバッガ等がインストールされます。
- 64ビット「.NET Framework SDK」の手動インストール
Visual Studio 2005 Beta 2のインストーラは64ビット用「.NET Framework SDK」を自動インストールしません。
CD-ROMドライブのD:\vs\wcu\SDK\x64\setup.exeを手動起動してインストールします。
[すべてのプログラム]メニューに「Microsoft .NET Framework SDK v2.0 (64bit)」が追加されます。
- SQL Server 2005 Mobile Edition
Windows Server 2003 Enterprise x64 Edition SP1にVisual Studio 2005 Beta 2を導入する場合、SQL Server 2005 Express Editionはインストールされません。
但し、SQL Server 2005 Mobile EditionはインストールされますのでPocket PC用アプリケーションの開発テストもできます(簡単な例:デザイン画面とテスト実行画面)。
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)アクセスを行うサンプルアプリケーションの作成手順
- Visual Studio 2005の起動
- [ファイル]−[新しいプロジェクト]による新しいプロジェクトの作成
・プロジェクトの種類:Visual C#のWindows
・テンプレート名:Windowsアプリケーション
・プロジェクト名:MyApp1(任意です)
- [プロジェクト]−[MyApp1のプロパティ]によるプラットフォームターゲットのCPU選択
「ビルド」のプラットフォームターゲット:AnyCPU(デフォルト)のままにしておきます。
AnyCPUの他に「x86」「x64」「Itanium」があります。
- サンプルプロジェクトで使用するデータソースの定義
- Visual Studioの[データ]−[新しいデータソースの追加]
- 「データソース構成ウィザード」でアプリケーションのデータの取得元として「データベース」を選択して<次へ>
- 「データ接続の選択」で<新しい接続>ボタンをクリックして「接続の追加」画面を表示
- データソースの右端にある<変更>ボタンをクリック
- 「データソースの変更」で下記の操作を実行
- 「その他」のデータプロバイダとして「.NET Framework OLE DB用データプロバイダ」を選択して<OK>。
- OLE DBプロバイダとして「IBM OLE DB Provider for DB2」を選択して<データのリンク>をクリック
- 「データリンクのプロパティ」の「接続」タブで下記を設定
・既存のデータソース:プルダウンメニューから「SAMPLE」を選択
・ログオン情報:DB2のインストール時に指定したDB2インスタンス所有者ユーザdb2adminとそのパスワードを指定
ここで<テスト接続>ボタンをクリックしてSAMPLEデータベース(正確にはSAMPLEデータベースの別名)への接続をテストします。
ここで「接続の追加」画面に戻ります。
- 「接続の追加」画面に戻ってパスワードを指定して再度接続の確認を行います。
必要に応じてパスワード関連のオプションを選択します。
尚、「詳細設定」で特に指定するものはありません。
- 「データ接続の選択」画面に戻ります。
ここでデータ接続名は「IBMDADB2.sample」と表示されます。
ここで「はい、重要情報を接続文字列に含めます。」を選択して<次へ>ボタンをクリックします。
- 「接続文字列をアプリケーション構成ファイルに保存する」画面ではそのまま<次へ>をクリック。
- 「データベースオブジェクトの選択」では「テーブル」だけを選択して<完了>クリック。
これでデータソース構成ウィザードは終了です。
- Visual Studioの[データ]−[データソースの表示]でデータソースウィンドウを表示させます。
Visual Studioの右側にデータソースウィンドウが表示されます。
- コントロールの自動配置
データソースウィンドウの中から「IBM DB2 Application Blocks for .NET」の「Create Database Objects」(batファイル)で追加作成したDEPTテーブルをフォームにドラッグします。
これによりdataSet1, dEPTBindingSource, dEPTTableAdapter, dEPTBindingNavigatorという名称で各コントロールが自動配置されます(これはVisual Studio 2005の新機能の一つです)。
- [デバッグ]−[デバッグ開始]でコンパイルが実行されます。
ここでエラーが無ければフォームの実行画面が表示されます。
- [ビルド]−[MyApp1のビルド]でMyApp1.exeを作成してVisual Studioを終了します(プロジェクトを保存します)。
- MyApp1.exeの単独実行
WindowsタスクマネージャのMyApp1.exeの部分に「*32」表示が無いため64ビット .NETアプリケーションとして動作していることが分かります。
但し、.NETアプリケーションであるMyApp1.exeのPEヘッダには32ビットを示すモードが設定されています。
Visual StudioのサーバエクプローラでDB2のデータベースのテーブル内容を確認することもできます。
【補足説明】
上記ではデータソースウィンドウからのドラッグ&ドロップによるコントロールの自動配置を使用しましたが次のような手動配置でも構いません。
- SAMPLEデータベースのデータソースウィンドウ表示は上記の操作通りです。
- まずツールボックスのデータにあるDataGridViewをフォームにドラッグします。
この時に表示される「DataGridViewタスク」のデータソースの選択でDB2付属のSAMPLEデータベースのORGテーブルをDataSet1の中から選択します。
選択後のプルダウンメニューには「ORGBindingSource」と表示されます。
- 次にツールボックスのデータにあるBindingNavigatorをフォームにドラッグします。
本ドラッグ後にBindingNavigatorの「BindingSource」プロパティの値として「ORGBindingSource」を選択します。
- [デバッグ]−[デバッグ開始]でコンパイルが実行されます。
ここでエラーが無ければフォームの実行画面が表示されます。
7.SQL Server 2005 Enterprise Edition CTP(x64)の利用