• 検索結果がありません。

IISとASPの動作設定

N/A
N/A
Protected

Academic year: 2021

シェア "IISとASPの動作設定"

Copied!
24
0
0

読み込み中.... (全文を見る)

全文

(1)

1

Windows10 における IIS と ASP および ODBC の設定メモ

ポイント

1.

IS の機能追加:Windows10 で IIS

1

(Internet Information Service)を利用する場合、IIS の機能

を追加する必要があります。

2.

ODBC の設定:Windows10 でデータベースプログラムを作成する場合、ODBC(Open

Database Connectivity)を設定する必要があります。なお、ODBC に 64bit バージョンと 32bit

バージョンがあり、データベース管理システム(Access や SQL Server など)のバージョン

と対応させる必要があります。しかし、現在、動作の検証ができているのは、次の①の場合

(64bit)です。

Office365Pro(64bit)をインストールしているときは、ODBC 64bit をインストールしま

す。このとき、AccessDatabaseEngine_x64.exe というプログラムをコマンドプロンプト

から実行する必要があります。詳細は

15 ページ以降に記載しています。

✓ 設定が間違っていると“プロバイダーが見つからない。正しくインストールされて

いない”などのエラーになります。

Office365Pro(32bit) をインストールしているとき

ODBC 32bit をインストールします。ただし、包括ライセンス版の Windows10 および

Office365Pro をインストールしている場合は、ODBC 32bit をインストールすること

ができませんでした。

Office365Pro(32bit)をアンインストールして、Office365Pro (64bit)をインストール

してください。

IIS の機能追加と設定

手順

I.

IIS 機能の追加

II.

IIS の設定(主にホームディレクトリの物理パス)と ASP(プログラム実行環境)の有効化

I.

IIS 機能の追加(有効化)

1. 設定(歯車マーク)開始

1 ホームページなどの web サイトを構築する場合に必要となるサーバー管理プログラムの一つ。Windows 環

境では Microsoft 社の IIS が利用される。Linux 環境では Apache が主に利用されている。近年、IIS の利用が 増えているというレポートがある。https://news.netcraft.com/archives/2017/04/21/april-2017-web-server-survey.html

(2)

2 2. 設定画面 ✓ アプリを選択 3. アプリと機能画面 ✓ 右側に表示されている「プログラムと機能」をクリック(右にウィンドウを拡大する) 4. プログラムと機能画面 ✓ 「Windows の機能の有効化または無効化」をクリック

(3)

3 5. Windows の機能画面

✓ 下にスクロールして「インターネットインフォメーションサービス」を見つける ✓ 左側の+をクリックして展開

✓ 「World Wide Web サービス」を見つける ✓ 左側の+をクリックして展開

(4)

4 ✓ 「アプリケーション開発機能」を見つける ✓ 左側の+をクリックして展開 ✓ ASP を☑ ✓ ISAPI 拡張の☑を確認 ✓ OK をクリックして完了(再起動を要求された場合は再起動する)

(5)

5

II.

IIS の設定と ASP(プログラム実行環境)の有効化

1. コンピュータの管理を起動する ✓ (Windows キー) + X ✓ 「コンピュータの管理」クリック 2. コンピュータの管理画面 ✓ 「サービスとアプリケーション」を見つける ✓ 左側の>をクリックして展開 ✓ 「インターネットインフォメーションサービス(IIS)マネージャー」をクリック

(6)

6 ✓ 「Default Web Site」を見つける

✓ 「詳細設定」をクリック  詳細設定画面でホームディレクトリを設定 ✓ 物理パス2の設定  Web サーバーのホームディレクトリと実際のフォルダを関連付ける ✓ まず、”Database”フォルダをデスクトップに作成する。  デスクトップ画面上で、右クリック→新規作成→フォルダ→名前の変更 以後、このフォルダーにプログラムやデータを保存する。 ✓ 物理パス項目の右端 . . .をクリックして”Database”フォルダを指定 2 IIS が管理するフォルダをホームディレクトリという。そのフォルダがどこにあるのかを物理パスで教える。

(7)

7  ASP(Active Server Page)の設定

✓ をダブルクリックする

 ASP 管理画面

✓ 「デバッグプロパティ」を見つけて展開する

✓ 「ブラウザーへのエラー送信」を見つけて、右端の▽にて、True に変更する ✓ 「Default Web Site」をダブルクリックして前の画面へ戻る

(8)

8  Web サービスを開始する Web サーバ(親)と Web サイト(子)を順に「開始」すること ✓ 下図の順にクリックする ✓ Web サーバ(親)のサービスが開始する(とグレーに変わる) ✓ 下図の順にクリックする ✓ Web サイトのサービスが開始する(とグレーに変わる)

(9)

9 3 . IIS(Web サーバ)と ASP(プログラム)の動 作 確 認 準 備 IIS の ホ ー ム デ ィ レ ク ト リ ( デ ス ク ト ッ プ 上 の Database フ ォ ル ダ ) に 、 次 の 2 つ の プ ロ グ ラ ム を 作 成 し て 保 存 す る 。 ファイル名:input.html プ ロ グ ラ ム の 動 作:X+Y の 足 し 算 を し ま す と 表 示 し て X の デ ー タ 、Y の デ ー タ を 入 力 し て 、 計 算 す る 。 <HTML> <HEAD> <TITLE>データ入力画面</TITLE> </HEAD> <BODY> X+Y の足し算をします.

<Form Action="keisan.asp" Method="GET"> X=<Input Type="text" Name="X" Size="5"> Y=<Input Type="text" Name="Y" Size="5"> <HR Align="left" Width="150">

<Input Type="submit" Value="計算"> <Input Type="reset" Value="消去"> </Form> </BODY> </HTML> ファイル名:keisan.asp プ ロ グ ラ ム の 動 作:X と Y の デ ー タ を 受 け 取 っ て 計 算 す る 。そ の 答 え を 表 示 す る 。 <%@ LANGUAGE="VBScript" %> <HTML> <HEAD> <TITLE>計算と答えの表示</TITLE> </HEAD> <BODY> <% 'データを受け取る X=Request("X") Y=Request("Y") 'CInt 関数で文字を数値に変換して計算する Z=Cint(X) + Cint(Y) '結果を表示する

(10)

10 Response.Write "X=" & X & "<BR>" Response.Write "Y=" & Y & "<BR>" Response.Write "X+Y=" & Z & "<BR>" %>

</BODY> </HTML>

プログラムの実行

➢ Web ブラウザの URL で Input.html をリクエストする。  http://localhost/input.html

➢ あらま!? こんな画面がでちゃった!

404 Not Found エラー表示や keisan.asp のソースコードが表示された人は 14 ページの例を見 てください。 ➢ 原因はホームディレクトリ”Database”へのユーザアクセス権が許可されていないため! ➢ ”Database”フォルダのアクセス権の設定をする ✓ “Database”フォルダを右クリック ✓ プロパティをクリック プロパティ画面 ✓ プロパティ画面のセキュリティをクリック ✓ 編集をクリック

(11)

11 アクセス許可画面 ✓ 追加をクリック ➢ ユーザまたはグループの選択画面 ✓ 詳細設定をクリック ➢ つづき ✓ 検索をクリック

(12)

12 ➢ つづき ✓ IUSR を見つけてクリック ✓ OK ➢ つづき ✓ OK ➢ 完了

(13)

13

✓ IUSR のアクセス許可確認(書き込みにも☑があるか確認してください)

(14)

14

もう一度、プログラムを実行してみよう!

✓ 上図のようにX+Y の計算結果が出れば OK!

HTTP エラー 404- Not Found

➢ 理由:IIS(Web 管理システム)がホームディレクトリ(Database)を見にいったけれど input.html が なかった ➢ 原因:よくあるケース  物理パスの設定が正しいか? ホームディレクトリに違うフォルダを設定していないか?  input.html が Database フォルダに存在するか?  スペルは間違っていないか? input.htm にしていないか?  拡張子の表示がオフになっているため、実際はinput.html.txt のように保存されていないか?

「計算」ボタンをクリックしたら

keisan.asp のソースコードが表示された

➢ 原因は、input.html をダブルクリックしたためです。一般に拡張子が HTML のファイルは Web ブ ラウザに紐づいているためWeb ブラウザが実行(open)します。 URL 欄を見てください file:///で始まっているはず。 IIS を使わないとプログラムが動作しません。次のように IIS にリクエストします。  http://localhost/input.html

localhost のサイト(ページ)が見つからないというエラー

➢ IIS の機能を追加した後、default Web Site の設定画面で「MIME の種類3」が表示されない現象を

確認しました。これがないとファイルにアクセスできません。Windows10 OS に異常がある可能 性が大です。修復または再インストールを推奨します。ただし、自己責任でお願いします。

(15)

15

ODBC(Open Database Connectivity)の設定

手順

I.

ODBC の確認

II.

ODBC(64bit)のインストール

I.

ODBC の確認

 Windows 管理ツール  ODBC データソース(64 ビット)の確認

(16)

16

 ODBC データソースアドミニストレータ(64 ビット)画面

 ユーザDSN の確認

✓ プラットフォーム(OS)が 64 ビットの MS Access Database がある

✓ プラットフォームが”N/A”と表示される場合もある。この場合は ODBC がない

 ドライバーの確認

Microsoft Access Driver(*.mdb, *.accdb)があれば OK

✓ Microsoft Access Driver(*.mdb,)しかない、または、何もない場合は、次の作業で ODBC(64bit)

をインストールする。なお、データサイエンス教育研究センターの貸し出しLet’s NOTE にお

(17)

17

II.

ODBC(64bit)のインストール

 Office365Pro が 64bit であることを確認してください  Word、Excel、PowerPoint、Access のいずれかを起動して  ファイルメニューからアカウント画面を開き  バージョン情報をクリック

 Office365Pro が 32bit のとき(個人所有の Office の時はリカバリーディスクを作成してから。)  Office365(32bit)をアンインストールする  大学の包括ライセンス版Office365Pro(64bit)をインストールする  http://ipc.edu.shiga-u.ac.jp/gakunai/manual/ を参照。32 ビットを 64 ビットに変更すること。  64 ビット用 Access データベース エンジン(AccessDatabaseEngine_X64.exe)を、以下のサイ トからダウンロードします  https://www.microsoft.com/ja-jp/download/details.aspx?id=13255 ① AccessDatabaseEngine_X64.exe をダウンロードフォルダから C:ドライブ直下にコピーする ② コマンドプロンプトをWindows システムツールから起動する ③ AccessDatabaseEngine_X64.exe を実行する cd コマンドの意味はchange directory。 cd c:¥の意味はディレクトリをドライブ c 直下に変更すること。 そこに実行するプログラムがあるので、 つぎのようにコマンドを実行できる。

(18)

18

III. テストプログラムの作成と実行

データベース操作言語入力画面 SELECT.HTML <HTML> <HEAD> <TITLE>SQL 入力</TITLE> </HEAD> <BODY> SQL コマンドを入力して下さい<BR><BR>

<FORM ACTION="SELECT.asp" METHOD="GET"> <TABLE CELLSPACING="2">

<TR>

<TD>SELECT</TD>

<TD><INPUT TYPE="text" NAME="select" SIZE="100"></TD> </TR>

<TR>

<TD>FROM</TD>

<TD><INPUT TYPE="text" NAME="from" SIZE="50" ></TD> </TR>

<TR>

<TD>WHERE</TD>

<TD><INPUT TYPE="text" NAME="where" SIZE="100"></TD> </TR>

<TR>

<TD>GROUP BY</TD>

<TD><INPUT TYPE="text" NAME="group" SIZE="50"></TD> </TR>

<TR>

<TD>ORDER BY</TD>

<TD><INPUT TYPE="text" NAME="order" SIZE="50" ></TD> </TR>

</TABLE> <BR>

<INPUT TYPE="submit" VALUE="検索"> <INPUT TYPE="reset" VALUE="取消"> </FORM>

</BODY> </HTML>

(19)

19 データベース操作言語実行プログラム SELECT.ASP <%@ LANGUAGE="VBScript"%> <HTML> <HEAD> <TITLE>SQL実行</TITLE> </HEAD> <BODY> SQLの実行とその結果<BR> <%

On Error Resume Next

'--- 'パラメータ受信 '--- vSELECT=Request("select") vFROM=Request("from") vWHERE=Request("where") vGROUP=Request("group") vORDER=Request("order") sp=" " :'半角空白文字 '--- 'SQL文の作成 '---

SQLs=vSELECT & sp & vFROM & sp & vWHERE & sp & vGROUP & sp & vORDER Response.Write "実行するSQL文<BR>" & SQLs & "<BR><BR>"

'---

'DBオープン

'---

Set DB=Server.CreateObject("ADODB.Connection") :'Object DB.Provider="Microsoft.ACE.OLEDB.12.0" :'property DB.Open Server.MapPath("売上データベース.accdb") :'method '--- 'SQL実行 '--- Set RS=DB.Execute(SQLs) '--- 'エラーチェック '--- IF ( DB.Errors.Count=0 ) Then

(20)

20 Response.Write "<Table Border=1>"

'---

'SELECT句で指定された列名の表示

'---

For i=0 to RS.Fields.Count-1 :'RS.Fields.Countの値=列数 Response.Write "<TH>" & Rs.Fields( i ).Name & "</TH>"

Next

'---

'検索されたレコードの表示

'---

Do Until ( RS.EOF=True ) :'End Of Fileで終了を判定 Response.Write "<TR>"

For i=0 to RS.Fields.Count-1 :'列数分を表示

Response.Write "<TD Align=center>" & RS.Fields(i) & "</TD>"

Next Response.Write"</TR>" RS.MoveNext :'次のレコード移動。忘れるとエンドレス Loop Response.Write "</Table>" Else Response.Write "SQL実行エラーが発生しました.<BR>" Response.Write "原因=" & DB.Errors(0).Description End If RS.Close DB.Close %> </Body> </HTML>

(21)

21

IV. テストプログラムの実行方法

1. ホームディレクトリ(Database)に作成したプログラムとデータベースを保存します  SELECT.HTML  SELECT.ASP  売上データベース.accdb ←データベース名を確認してください。プログラムに合わせます。 2. URLからSQL入力ファイルを実行します  http://localhost/select.html ←プログラム名は小文字でも大丈夫です 3. SQL入力画面が表示されます 4. すべてのデータを検索してみましょう SELECT * ←” * ”はすべての列名を指定するときに使う FROM 売上データ ←「売上データ」というテーブルを使う。テーブル名を確認してください。 検索結果

(22)

22

5. ”キリマンジャロ”に絞り込んで検索してみましょう

6. 商品別に売上合計を調べてみましょう

※SELECT 商品名,SUM(売上金額) ←空白、カンマ、( )などのコマンド記号は必ず半角で!

(23)

23

7. キリマンジャロの売上を店舗別に調べ、合計金額の昇順4に並べてみましょう。

 都市部なのに横浜や渋谷が売れていませんね。 ➢ 次のようなエラーが出た人はいませんか?

※店舗別に売上データを分類(グループ)してから売上金額を合計するので、次を間違えています  ”SELECT 商品名,SUM(売上金額)” ではなく ”SELECT 店舗名,SUM(売上金額)”

(24)

24

 まとめ

➢ SELECT ~ FROM ~ WHERE ~ GROUP BY ~ ORDER BY ~をマスターすることで、様々な検索が できます。 ➢ エラーが出たときは、必ずあなたが間違っています。 ✓ ネットや本で調べて自分で解決するようにしましょう ➢ それから、仕組みや原理を理解して、論理的に考えるようにしましょう!

IIS

ASP

Web Server

User

DataBase

http://ocalhost/ ODBC

参照

関連したドキュメント

事業セグメントごとの資本コスト(WACC)を算定するためには、BS を作成後、まず株

パスワード 設定変更時にパスワードを要求するよう設定する 設定なし 電波時計 電波受信ユニットを取り外したときの動作を設定する 通常

ウェブサイトは、常に新しくて魅力的な情報を発信する必要があります。今回制作した「maru 

・蹴り糸の高さを 40cm 以上に設定する ことで、ウリ坊 ※ やタヌキ等の中型動物

・電源投入直後の MPIO は出力状態に設定されているため全ての S/PDIF 信号を入力する前に MPSEL レジスタで MPIO を入力状態に設定する必要がある。MPSEL

討することに意義があると思われる︒ 具体的措置を考えておく必要があると思う︒

妥当性・信頼性のある実強度を設定するにあたって,①

捕獲数を使って、動物の個体数を推定 しています。狩猟資源を維持・管理してい くために、捕獲禁止・制限措置の実施又