Windows2000とIISとClassic ASPとSQL Server2005

一個前のエントリは、このエントリのための踏み台。

Windows2000に戻したのは良いけど、仕事で使う開発環境を再構築するのに手間取ったので、健忘録ってことで。

目的となる環境はタイトルどおり、
Windows2000+IISの環境でClassic ASP(ASP.NETより前のASP)からSQL ServerにODBC接続する。


用意するモノ

  1. Microsoft Update等一通りセットアップの終わったWindows2000SP4環境(.NET Framework2.0含む)
  2. Windows2000のインストールディスク
  3. Microsoft Data Access Components (MDAC)
  4. SQL Server 2005 Express Edition
  5. SQL Server Management Studio Express

金掛けたくないので、SQL Serverは無料版のExpress Editionを使用する。
有料版持ってる人はソレを使えばいい。

1の環境構築は完了してるとして(.NET Framework2.0は現時点で最新はSP1)

2のインストールディスクにはIISが入ってるので必要。普通にWin2kインストールすると最初からは入ってないんだよね。

3のMDACはSQL Server2005をインストールする際に必要になる。ここから入手できる(MSのダウンロードサイトって結構頻繁にリンク先変わるので、「MDAC」で検索したほうがいいかも。現時点で最新はver2.8SP1)

4は金掛けたくないので、SQL Serverは無料版のExpress Editionを使用する。有料版持ってる人はソレを使えばいい。SQL Server2005ExpressEditionはここから。MDAC同様検索したほうが確実。現時点で最新はSP3

5のSQL Server Management StudioはSQL Serverを操作するためのクライアントツール。SQL Server2000まではEnterpriseManagerとか呼ばれてた奴です。SQL Server有料版には同梱されている。SQL ServerExpressEditionには同梱されてないけど、Management Studio Expressは別途無料で入手できる。入手はここから。これも(ry 現時点で最新はSP3

SQL Serverは最新の2008 Express Editionも手にはいるけど、2008を動かすためには.NET Framework3.5が必要で、.NET Framework3.5は2kにインストールできないので、今回は使わない。
XP以降に入れるので有れば2008でもいい。


まず最初にMDACをインストールしておく。
少なくともSQL Serverをインストールする前に必ずインストールしておく。重要。

つぎに、IISを入れる。
IISは[コントロールパネル]→[プログラムの追加と削除]→[Windowsコンポーネントの追加と削除]でInternet Infomation Serviceにチェックを入れればいい。
FTPも使う場合は、詳細で追加チェックすればいい。SMTPは使わないだろうから外しておく。
Windows2000インストールディスクを要求してくるので、あらかじめドライブにセットしておく。

ここまで入れたら、一旦Microsoft Updateを掛けておく。念のため。


次にSQL Serverを入れる。
インストーラを実行すると、最初にNative Clientとサポートファイル(英語)とかいうのがインストールされて、続けてSQL Server本体のインストールが始まる。

このとき、MDACその他SQL Serverを動かすのに必要なモノがPCに入っているかがチェックされ、入っていないモノがあった場合インストールを中断することになるが、たとえばMDACを入れ忘れていて、入れ直して再度SQL Serverのインストールを続けようとすると、こんどはNative Clientが邪魔で失敗する。

SQL Serverを再度インストールする前に、[プログラムの追加と削除]から、Native Clientとサポートファイルを削除してから再インストールすればインストールが成功する。はず。

SQL Serverインストール時の設定は、用途次第だけど、今回は認証方式はWindows認証ではなくSQL Server認証を選択する。
saアカウントのパスワードは2文字だと怒られた。4文字以上なら通るっぽい。

また、一度インストールしてから、何らかの理由で再インストールする場合、インスタンス名が変わってしまうとか変な不都合が起こったりする。
その場合は・・・どうしたらいいんだろうね。
[プログラムの追加と削除]からSQL Serverを削除しても、サービスとかインスタンスとか残ってるんだよね・・・

試してないけど、こんな記事を見つけたので全引用しておく。

SQL Server をアンインストールするには、以下の手順に従って行う。

  1. SQL Server サービスの停止
    → タスクトレイの[SQL Server サービスマネージャ]アイコンから起動中の SQL Server のサービスを停止する
  2. SQL Server サービスマネージャの終了
    → タスクトレイの[SQL Server サービスマネージャ]アイコンを右クリックし、[終了]を選択する
  3. SQL Server のアンインストール
    → [スタート]→[設定]→[コントロールパネル]→[アプリケーションの追加と削除](もしくは[プログラムの追加と削除]から SQL Server をアンインストールする
  4. プログラムファイルの削除
    → エクスプローラからプログラムファイルが格納されているフォルダを削除する
  5. レジストリキーの削除
    → レジストリエディタを起動し、SQL Server のレジストリキーをキーごと削除する
  6. ODBC データソースの削除
    → SQL Server 接続用に作成した DSN を削除する

なんで3のアンインストールで1~5までやってくれないんだろう。

その他の設定は実はよく分かんないので適当に。


次にSQL Server Management Studio Express(以下SSMS)を入れる。
特になにも設定することなく入ると思う。

ここまで入れたら、一旦Microsoft Updateを掛けておく。念のため。

以上でインストールは完了。


次にDBの設定を行う。

SSMSを起動して、saアカウントでログインしてみる。
サーバの種類:データベースエンジン
サーバ名:localhost
認証:SQL Server認証

ログイン成功したら、画面左側のツリーで右クリックしてみる。コンテキストメニューが日本語ならひとまず安心。
原因がわからないけど、メニュー等は日本語なのにコンテキストメニューや所々英語な場合がある。
英語のままでも動くけど・・・どうやったら直るのか分かんない。OSから入れ直したら直った。

左側メニューからローカルPCを展開して、まずDBを作成する。

  1. 左側メニューから[データベース]を右クリック→[新しいデータベース]
  2. データベース名を入力(仕様次第)
  3. 所有者は既定のままで[OK]ボタン押下

次にログインユーザを作成

  1. 左側メニューから[ログイン]を右クリックして[新しいログイン]
  2. ユーザ名を入力(仕様次第。ASPのODBC接続用ユーザ名)
  3. SQL Server認証を選択して、パスワードを入力(ODBC接続用パスワード)
  4. パスワードポリシーとか期限とかの3つのチェックは全部外す。(用途次第)
  5. 既定のデータベースに、先ほど作ったデータベースを指定
  6. 言語は既定でも良いと思うけどJapaneseにしとく
  7. [OK]ボタン押下

たぶんこれで良いはず。


次にIISの設定を行う。
といっても、仮想フォルダに目的のASPファイルのある場所を指定するだけ。
外部ファイルを読み込んだりする場合はパスとか設定に気を付けること。


あとは、ODBCの設定。

  1. [コントロールパネル]→[管理ツール]からデータソース(ODBC)を開いて、ユーザDSN(用途次第でシステムDSN)タブにて[追加]ボタン押下。
  2. データソースドライバ一覧からSQL Server(多分リストの一番下)を選択して[完了]ボタン押下。
  3. データソースの名前を入力(ASPのODBC接続用データソース名)し、サーバを選択。サーバは今回はSQL ServerとIISを同じPCで動かすので(local)でいい。[次へ]ボタン押下。
  4. 権限確認方法を「ユーザが入力するSQL Server用ログインIDとパスワードを使う」とかそんな感じのを選択。
    ログインIDとパスワードにASPのODBC接続用ユーザ名とパスワードを入力。
    [次へ]ボタンを押すと、接続確認が行われる。成功すればOK。失敗したら見直し。
  5. 既定のデータベースに、先ほど作ったデータベース名を指定して[次へ]
  6. 既定の言語をJapaneseにして[完了]

これで実際にASPにアクセスして、思った通りに動けばOK。

以上。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

認証のために問題を解いて下さい * Time limit is exhausted. Please reload CAPTCHA.