Webアプリケーション
上

 

図書管理システムNoah2020にWebアプリケーションを追加する

※このページを更新しました。(2023/05/18)

1 概要

 既存の図書管理システムにWebアプリケーションを追加します。Microsoft Accessデータベースで作られた図書管理システムに保存された蔵書データ(書誌データ)を,Webブラウザを使ってWeb上で検索できるシステムです。
 これによって,校内イントラネットを経由し,図書管理システムにはブラウザソフトでアクセスできるようになり,コンピュータに不慣れな教師や生徒でもインターネットと同じ感覚で図書管理システムを利用できるようになります。さらに,クライアントパソコンに特別なソフトが必要なく,経済面でも管理面でも利点が大きいと考えられます。

 図書管理システムには,Microsoft Accessで作られた図書データベースが必要になります。まだ図書データベースがない場合には,必要最小限の図書データベースを構築し,作成してください。既存の図書管理システムがあり,それがMicrosoft Accessで作られたデータベースなら利用できます。Microsoft Access以外で作られたデータベースならMicrosoft Accessにデータをインポートすることによって図書データベースを作成し,利用できます。

  図書管理システムNoah2020があるなら,このWebアプリケーションを利用することを勧めます。

 このWebアプリケーションの概要は,図1のようになります。Webクライアントからの要求は,WebサーバとDBMS(Database Management System)によって処理され,その処理結果のみがWebクライアントに返されます。難しそうですが,設定は比較的簡単です。


図1image1.gif

 作成する環境としては,次のような構成としました。

Windows 11 Home
IIS(Internet Information Services)10.0
Microsoft Access 2013/2016/2019/2021
ASP(Active Server Pages)

 OSはWindows 11 Home,WebサーバはIISを使いました。IISはWindows 11 Homeに附属しています。Windows 10 Homeでも可能です。

 また,DBMSにはMicrosoft Accessデータベースを利用し,IISから容易にアクセスすることができます。

 ASPは,Webデータベースを実現するものです。動的にWebページを生成するWebサーバの拡張機能の一つです。



2 ASPとは

 ASP(Active Server Pages)とは,Webアプリケーションを実現する技術で,Webサーバ上で動作します。通常はWebブラウザに渡されてから処理されるJava ScriptやVB Scriptなどで記述されたスクリプトをサーバ側で処理し,処理結果のみをブラウザに送信します。Microsoft社のWebサーバであるIISで利用できます。ブラウザからデータを受け取ってファイルに記録したり,データベースと連携した動的なWebページを作成したりすることができます。ASPはプログラム言語ではありません。


ASP(Active Server Pages)の働き

 Java Scriptに代表されるスクリプト言語は,クライアントサイドのスクリプトとして動的なWebページを作成するのによく使われていますが,ASPはそのスクリプティング環境をサーバ側でも利用できるようにする仕組みです。ASPファイルは拡張子.aspとしてサーバに置きますが,その記述言語はJava Script(J Script),VB Scriptなどを使用することができます。

 データベースへの問い合わせは図2-1のように処理されます。

(1)Webクライアントからデータベースへの処理要求が出されます。

(2)Webサーバは要求に対応するASPファイルを呼び出します。

(3)スクリプトエンジンがASPファイルに記述されているスクリプトを解釈し,実行します。

(4)データベースの処理をADO,ODBCで操作します。

(5)データベースより処理結果が返されます。

(6)処理結果のみをHTML文に変換します。

(7)WebクライアントにHTMLで記述されたページが送信されます。


図2-1image2-1.gif

 今回,ASPに使用した言語(サーバサイドスクリプト)はVB Scriptです。その理由は,データベースとして使用したMicrosoft Accessは,その操作にVB(Visual Basic),VBA(Visual Basic for Applications)を使用しており,VB Scriptはそのサブセットに相当するもので,Microsoft Accessを操作している者には理解しやすいからです。

 ただし,Webクライアントでの処理(クライアントサイドスクリプト)には,Java Scriptを使用しました。クライアント側で使用されるブラウザはVB Scriptに対応していないものも多く存在するからです。今回は,ブラウザとしてMicrosoft Edge, Google Chrome, Firefox, Avast Secure Browserで動作確認をしました。
 ASPはHTML言語とスクリプト言語を一体化して記述できるため,HTML,VB Script,Java Scriptが混在したファイルになってしまいます。今回記述したASPファイルを見るときは,VB Scriptはサーバで,HTMLとJava Scriptはクライアントで実行されると理解してください。(図2-2)


図2-2image2-2.gif



3 データベースの作成

 検索元になる図書データベースがない場合には作成しなければなりません。市販されているような図書管理システムを作ることはできないので,Webアプリケーションに必要な最小限のデータベースを作成することにします。サンプルファイルsample.accdbをダウンロードし,そのままデータベースファイルtosyo.accdbとして使用することもできます。ファイル名を変更するだけです。
 サンプルファイルsample.accdbは,tosyo.zip (109KB) に同梱されています。
 ※図書管理システムNoahを使用する場合には,改めてデータベースを作成する必要はありません。テーブル・クエリなど必要なものは同梱されています。

 Microsoft Accessで「tosyo.accdb」を作成します。「図書」フォルダに入れます。

テーブルを作成する

次の4つのテーブルを作成します。

(1)蔵書データテーブル(図3-1)
 蔵書のデータ(書誌データ)を保存するテーブルです。フィールド名(データ型)は,登録番号(数値型)・受入年月日(日付/時刻型)・著者名・チョシャメイ・書名・ショメイ・副書名・出版社(以上テキスト型)・出版年(数値型)・本体価格・定価・価格(以上通貨型)・費目・受入先等(以上テキスト型)・ページ・高さ(以上数値型)・分類記号・図書記号・巻冊記号・場所・件名・ISBN番号(以上テキスト型)・除籍年月日(日付/時刻型)・除籍記号(テキスト型)・閉架書庫(Yes/No型)とします。登録番号に主キーを設定します。

図3-1image3-1.jpg

(2)名簿テーブル(図3-2)
 名簿のデータを保存するテーブルです。フィールド名(データ型)は,番号(数値型)・氏名・code(以上テキスト型)とします。番号に主キーを設定します。

図3-2image3-2.jpg

(3)図書貸出テーブル(図3-3)
 図書の貸出データを保存するテーブルです。フィールド名(データ型)は,ID(オートナンバー型)・登録番号・名列番号(以上数値型)・名列コード(テキスト型)・貸出日(日付/時刻型)・返却印(Yes/No型)とします。IDに主キーを設定します。

図3-3image3-3.jpg

(4)ユーザテーブル(図3-4)
 ユーザのアクセス制限をするためのデータを保存するテーブルです。フィールド名(データ型)は,ユーザ名・パスワード(以上テキスト型)・返却・貸出・登録・訂正・管理(以上Yes/No型)とします。ユーザ名に主キーを設定します。

図3-4image3-4.jpg


クエリを作成する

次の4つのクエリを作成します。

(5)名簿クエリ(図3-5)
 名簿テーブルから選択クエリを作成します。特別には選択条件をつけていません。

図3-5image3-5.jpg

(6)未返却図書クエリ(図3-6)
 蔵書データテーブルと図書貸出テーブルと名簿クエリから選択クエリを作成します。蔵書データテーブルの登録番号と図書貸出テーブルの登録番号を結合します。また,図書貸出テーブルの名列番号と名簿クエリの番号を結合します。フィールドには図書貸出テーブルから,登録番号・名列番号・名列コード・貸出日・返却印,蔵書データテーブルから書名・著者名・出版社・分類記号・図書記号・巻冊記号を選びます。抽出条件として,返却印にFalseとします。

図3-6image3-6.jpg

(7)蔵書データ貸出クエリ(図3-7)
 蔵書データテーブルと未返却図書クエリから選択クエリを作成します。フィールドには蔵書データテーブルからすべて,未返却図書クエリから返却印を選びます。また,分類記号(テキスト型)を数値型に変換するフィールドを関数を使って追加します。分類数値: IIf(IsNull([蔵書データ.分類記号])=True,1,CSng([蔵書データ.分類記号]))。さらに,除籍図書を除くため,除籍年月日と除籍記号の抽出条件に Is Null を設定します。蔵書データテーブルの登録番号と未返却図書クエリの登録番号を結合しますが,結合のプロパティとして蔵書データの全レコードと未返却図書クエリの同じ結合フィールドのレコードだけを含めることにします。

図3-7image3-7.jpg

(8)貸出多数図書クエリ(図3-8)
 蔵書データテーブルと図書貸出テーブルから選択クエリを作成します。フィールドには図書貸出テーブルから登録番号,蔵書データテーブルから書名・著者名・出版社を選びます。蔵書データテーブルの登録番号と図書貸出テーブルの登録番号を結合します。集計をクリックしてグループ化します。さらに,CNT: 登録番号(カウント,降順),返却印の合計: Sum([返却印]*(-1))フィールド(演算)を追加します。

図3-8image3-8.jpg


 

4 HTML & ASPファイルのダウンロード

データをクライアントとサーバでやり取りするためのファイルをダウンロードします。ダウンロードし解凍した「tosyo」フォルダをCドライブのルート(c:\)に置きます。
  tosyo.zip (109KB)

 ※図書管理システムNoahを使用する場合には,ダウンロードする必要はありません。図書管理システムNoahのCD-ROMに同梱されています。ただし,図書管理システムNoah2020 Ver.3以前のCD-ROMに同梱されているものは,(3)DBopen.incを参考に,修正する必要があります。

(1)toSearch.htm

 toSearch.htmはWebクライアントからWebサーバーへ問い合わせをするためのファイルです。次の画面(図4-1)は,その表示画面です。

図4-1image4-1.jpg

 以下はファイルのソースの主要部分を示しています。
<input type="text">で検索キーワードを入力し,
検索ボタンをクリックすることによりtoSearch.aspに送信されます。

<html>
<body>
<h1>図書検索</h1>
<hr>
<h3>記入例に従って検索キーワードを入力してください。</h3><br>
検索キーワードは一部(例:夏目漱石→漱石)でも構いません。<br>
全ての項目を記入する必要はありません。<br>
<form method="post" action="toSearch.asp">
<table>
   <tr>
      <th bgcolor="#87cefa">検索項目</th><th></th>
      <th bgcolor="#87cefa">検索キーワード</th><th></th>
      <th bgcolor="#87cefa">記 入 例</th>
   </tr>
   <tr>
      <td>著者名</td><td>:</td>
      <td><input type="text" name="tyosyamei" size="30"></td>
      <td>:</td><td>夏目漱石</td>
   </tr>
   <tr>
      <td>チョシャメイ</td><td>:</td>
      <td><input type="text" name="tyo" size="30" ID=Text4></td>
      <td>:</td><td>ナツメソウセキ</td>
   </tr>
   <tr>
      <td>書名</td><td>:</td>
      <td><input type="text" name="syomei" size="30"></td>
      <td>:</td><td>こころ</td>
   </tr>
   <tr>
      <td>ショメイ</td><td>:</td>
      <td><input type="text" name="syo" size="30" ID=Text5></td>
      <td>:</td><td>ココロ</td>
   </tr>
   <tr>
      <td>出版社</td><td>:</td>
      <td><input type="text" name="syuppan" size="30"></td>
      <td>:</td><td>講談社</td>
   </tr>
   <tr>
      <td>件名</td><td>:</td>
      <td><input type="text" name="kenmei" size="30"></td>
      <td>:</td><td>古典</td>
   </tr>
   <tr>
      <td>副書名</td><td>:</td>
      <td><input type="text" name="fukusyomei" size="30"></td>
      <td>:</td><td>文庫</td>
   </tr>
   <tr>
      <td>購入価格</td><td>:</td>
      <td><input type="text" name="kakaku1" size="10"> 〜
      <input type="text" name="kakaku2" size="10"></td>
      <td>:</td><td>500</td>
   </tr>
   <tr>
      <td>分類記号</td><td>:</td>
      <td><input type="text" name="bunrui" size="10"></td>
      <td>:</td><td>914</td>
   </tr>
</table>
<input type="submit" value=" 検 索 " name="kensaku"><input type="reset" value="リセット">
<hr><br>
<input type="button" value="前に戻る" onClick="history.back()">
</form>
</body>
</html>



(2)toSearch.asp

 toSearch.asptoSearch.htmから送られた検索キーワードを受け取り処理します。
 Webサーバが行う一連の処理を記述したファイルです。次の画面(図4-2)は,その一連の処理によって作成された静的なWeb画面です。

図4-2image4-2.jpg

 以下はファイルのソースの主要部分を示しています。<% %>で囲まれた部分がサーバが処理するスクリプト部です。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<title>検索結果</title>
</head>
<body>
<%
'response.write request.form &"<br>"
  Dim intCount
  strTy=Request.Form("tyosyamei")
  if strTy<>"" then
      strTy=" AND (著者名 LIKE '%" & strTy & "%')"
  end if
  strTo=Request.Form("tyo")
  if strTo<>"" then
      strTo=" AND (チョシャメイ LIKE '%" & strTo & "%')"
  end if
  strSy=Request.Form("syomei")
  if strSy<>"" then
      strSy=" AND (書名 LIKE '%" & strSy & "%')"
  end if
  strSo=Request.Form("syo")
  if strSo<>"" then
      strSo=" AND (ショメイ LIKE '%" & strSo & "%')"
  end if
  strSp=Request.Form("syuppan")
  if strSp<>"" then
      strSp=" AND (出版社 LIKE '%" & strSp & "%')"
  end if
  strKe=Request.Form("kenmei")
  if strKe<>"" then
      strKe=" AND (件名 LIKE '%" & strKe & "%')"
  end if
  strFu=Request.Form("fukusyomei")
  if strFu<>"" then
      strFu=" AND (副書名 LIKE '%" & strFu & "%')"
  end if
  strKa1=Request.Form("kakaku1")
  if strKa1<>"" then
      strKa1=" AND (価格>=" & strKa1 & ")"
  end if
  strKa2=Request.Form("kakaku2")
  if strKa2<>"" then
      strKa2=" AND (価格<=" & strKa2 & ")"
  end if
  strBu=Request.Form("bunrui")
  if strBu<>"" then
      strBu=" AND (分類記号=" & strBu & ")"
  end if
  strWhere=strTy & strTo & strSy & strSo & strSp & strKe & strFu & strKa1 & strKa2 & strBu &";"
  if strWhere=";" then
%>
   <font size=4><b>検索できません。</b></font>
   <p><font color="#ff0000"><b>検索キーワードを入力して,再度検索してください。</b></font>
<%
  else strWhere=mid(strWhere,5)
%>
<!-- #include virtual = "/tosyo/include/DBopen.inc" -->
<%
   set rs=Server.CreateObject("ADODB.Recordset")
   rs.Open "SELECT * FROM 蔵書データ貸出クエリ WHERE " & strWhere,db,,1
%>
    </table>
    <h2>検索結果は以下のとおりです。</h2>
    <form method="POST" action="toDetail.asp">
    <p>詳しい内容を表示したい場合は,<br>
    チェックをつけて,右の<b>詳細を表示</b>ボタンを押してください。
    <input type="submit" value="詳細を表示">
    <input type="button" value="前に戻る" onClick="history.back()">
    <p><table border=0>
    <tr bgcolor="#87cefa">
       <th></th><th width="50">登録番号</th><th>著者名</th><th>書名</th><th>出版社</th>
       <th width="50">分類記号</th><th>件名</th>
    </tr>
<%
    intCount=0
    Do while not rs.EOF
       Response.Write "<tr bgcolor='#ddffff'>"
       Response.Write "<td><input type='checkbox' name='id' value='"&rs.Fields("登録番号")&"'></td>"
       Response.Write "<td>"&rs.Fields("登録番号")&"</td>"
       Response.Write "<td>"&rs.Fields("著者名")&"</td>"
       Response.Write "<td>"&rs.Fields("書名")&"</td>"
       Response.Write "<td>"&rs.Fields("出版社")&"</td>"
       Response.Write "<td>"&rs.Fields("分類記号")&"</td>"
       Response.Write "<td>"&rs.Fields("件名")&"</td>"
       if rs.Fields("返却印") = false then 
             Response.Write "<td><font color='#ff0000'><b>貸出中</b></font></td>"
       end if
       intCount=intCount+1
       Response.Write "</tr>"
       rs.MoveNext
    Loop
    rs.Close
    db.Close
    Response.Write "</table>"
    Response.Write "<b>検索ヒット数:" & intCount & "</b>"
    Response.Write "</form>"
  end if
%>
  <form><hr><input type="button" value="前に戻る" onClick="history.back()"></form>
</body>
</html>



(3)DBopen.inc

 includeフォルダ内のDBopen.incファイルは,図書データベースのtosyo.accdbファイルのパスを指定します。
 DBopen.incファイルをメモ帳などのエディタで開き,パスを指定してください。

DBopen.incファイル
 <%
   filePath = "
c:\図書\tosyo.accdb
"
   set db=Server.CreateObject("ADODB.Connection")
   db.Open "Provider=Microsoft.ACE.OLEDB.16.0;Data Source=" & filePath
 %>

 ※図書管理システムNoahの場合は,二行目が
   filePath = "c:\図書\Noahdata.accdb"
 となります。
 ※データベースファイルが以前の.mdbのときは,四行目が
   db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath
 でしたが,.accdbでは Microsoft.ACE.OLEDB.XX.0 とします。
 また,Access2013では Microsoft.ACE.OLEDB.15.0
 Access2016,2019,2021では Microsoft.ACE.OLEDB.16.0 とします。



(4)フォルダの階層構造とファイル名

 「tosyo」フォルダ内の階層構造とファイル名を示します。

image7.JPGtosyo               ・・・・・ Index.htm, dictionary.gif, nabkgnd.jpg, tosyo.gif
    image7.JPGinclude    ・・・・・ DBopen.inc
    image7.JPGtomanage   ・・・・・ tmLgIn.htm, tmEditA.asp, tmEditB.asp, tmInA.asp, tmInAll.asp, tmInB.asp,
                                       tmInH.asp, tmLgIn.asp, tmLgOut.asp, tmMenu.asp, tmNewA.asp, tmNewB.asp,
                                       tmOutA.asp, tmOutB.asp, tmOutK.asp, tmSrchA.asp, tmSrchB.asp, tmUsers.asp
    image7.JPGtosearch    ・・・・・ toCtgry.htm, toSearch.htm, toBest.asp, toCtgry.asp, toDetail.asp, toNew.asp, toSearch.asp

 Index.htm
ファイルは,最初に表示されるページ(ホームページ)です。(図4-3)

図4-3image4-3.jpg

 タイトル「〇○○高校図書館のページ」を変更するときは,Index.htmをメモ帳などエディタで開き,3行目
<title>○○○高校図書館のページ</title>
を変更します。


5 Webサーバの設定

 IIS(Internet Information Services)の設定をします。IISとはMicrosoft社のインターネットサーバソフトウェアです。WebサーバやFTPサーバ,SMTPサーバ,限定的なNNTPサービスなど,様々なサーバの機能を統合しています。Windows11, Windows10におけるIISのバージョンは10.0です。


(1)IISのインストール

ア 管理者権限でログインします。

イ [ファイル名を指定して実行] を開きます。(図5-1-1)

図5-1-1image5-1.jpg

ウ [appwiz.cpl] を起動します。(図5-1-2)

図5-1-2image5-2.jpg

※[appwiz.cpl]が起動できなかったときは,[スタート]→[設定]→[アプリ]→[オプション機能]→[Windowsのその他の機能]でオに移行します。

エ [Windowsの機能の有効化または無効化] をクリックします。(図5-1-3)

図5-1-3image5-3.jpg

オ 「インターネットインフォメーションサービス」にチェックをつけて[OK]ボタンをクリックします。(図5-1-4)

図5-1-4image5-4.jpg

カ 必要なファイルを検索しています。(図5-1-5)

図5-1-5image5-5.jpg

キ 変更を適用しています。(図5-1-6)

図5-1-6image5-6.jpg

ク 必要な変更が完了しました。[閉じる] をクリックします。(図5-1-7)

図5-1-7image5-7.jpg

 

 

(2)IISの動作確認

 IISが動作しているか確認します。

Webブラウザを起動し,アドレス欄に「http://localhost/ 」と入力し,「Enter」キーを押します。IISのオンラインマニュアルである画面が表示されれば,IISは動作しています。(図5-2)
 (注1) http://127.0.0.1/ または http://”このコンピュータ名”/ と入力してもよいです。
 (注2)ユーザ名とパスワードを入力するダイアログボックスが表示されることがあります。

図5-2image5-2.jpg

 

 

(3)ASPとCGI

 IISの標準インストールでは,ASP(Active Server Pages)とCGI(Common Gateway Interface)が有効になっていません。(1)IISのインストールで行ったように[Windowsの機能の有効化または無効化]を開き,「インターネットインフォメーションサービス」-「World Wide Webサービス」-「アプリケーション開発機能」と展開して,[ASP]と[CGI]にチェックをつけて[OK]ボタンをクリックします。(図5-3)

図5-3image5-3.jpg

 

 

(4)IISの設定

ア 管理者権限でログインします。

イ [スタート]−[すべてのアプリ]−[Windowsツール]−[インターネットインフォメーションサービス(IIS)マネージャー]を開きます。なお,スタートを右クリックし,[コンピュータの管理]を開き,サービスとアプリケーションの中からインターネットインフォメーションサービス(IIS)マネージャーを選んでもよいです。

ウ もし「URLの処理中にサーバーでエラーが発生しました。」が表示されたときは,[接続]ペインで[コンピュータ名(コンピュータ名¥ユーザ名)]−[サイト]−[Defalt Web Site]を選択し,[管理]領域の[構成エディター]を開き,[system.webServer/asp]セクションの[scriptErrorSentToBrowser]という項目をTrueに変更すると,エラーの詳しい内容がわかります。通常はFalseのままにします。(図5-4)

図5-4image5-4.jpg

 

 

(5)仮想ディレクトリの設定

 仮想ディレクトリとは,リアルなディレクトリとは違い,コンテンツが格納されている物理パスをドキュメントルートディレクトリ以外に設定したディレクトリのことを言います。ダウンロードしたファイルの「tosyo」フォルダに仮想ディレクトリの設定をします。

ア (3)IISの設定で使用した[インターネットインフォメーションサービス(IIS)マネージャー]を開きます。

イ [Defalt Web Site]を右クリックし,[仮想ディレクトリの追加]をクリックします。(図5-5-1)

図5-5-1image5-5-1.jpg

ウ エイリアスを「tosyo」と入力し,物理パスを[...]ボタンをクリックして[C:¥図書¥tosyo]とします。(図5-5-2)
エイリアスはブラウザのアドレスで使われます。Webブラウザからは「http://”このコンピュータ名”/tosyo/」でアクセスできるようになります。

図5-5-2image5-5-2.jpg

 (注)図5-5-1では”このコンピュータ名”は「IIYAMA」となっています。

エ [Defalt Web Site]に仮想ディレクトリtosyoが追加されました。Webブラウザで「http://”このコンピュータ名”/tosyo/」と入力してアクセスできるか確認します。

 (注)「tosyo」フォルダを右クリックして[プロパティ]を開き,[セキュリティ]タブを選んで設定することもできます。

 

 

(6)セキュリティの設定

 仮想ディレクトリ内のファイルに対するアクセス許可を設定します。「図書」フォルダ,「tosyo」フォルダともにAuthenticated Usersでアクセスできるようにします。Authenticated Usersとは,基本的にEveryoneの代わりに使われ,コンピュータ上または Active Directoryサービス内に有効なユーザアカウントを持つ全てのユーザがこのグループに含まれます。Guestアカウントは除かれます。

「図書」フォルダ(図書データベース,図書管理システムが入っているフォルダ)

ア 「図書」フォルダを右クリックして[プロパティ]を開き,[セキュリティ]タブを選びます。

イ [編集]ボタンをクリックし,[追加]ボタンをクリックし,選択するオブジェクト名を入力してくださいにauと入力して[名前の確認]ボタンをクリックするとAuthenticated Usersと表示されるので,[OK]ボタンをクリックします。さらに[OK]ボタンをクリックします。

ウ アクセス許可を「変更」許可にチェックを付けて,[OK]をクリックします。
 (注)「変更」許可にチェックを付けると,自動的に「書き込み」許可にもチェックが入ります。
   「読み取りと実行」「フォルダの内容の一覧表示」「読み取り」のチェックをはずすことはできません。


「tosyo」フォルダ(仮想ディレクトリを設定したフォルダ)

エ 「tosyo」フォルダを右クリックして[プロパティ]を開き,[セキュリティ]タブを選びます。

オ [編集]ボタンをクリックし,[追加]ボタンをクリックし,選択するオブジェクト名を入力してくださいにauと入力して[名前の確認]ボタンをクリックするとAuthenticated Usersと表示されるので,[OK]ボタンをクリックします。さらに[OK]ボタンをクリックします。

カ アクセス許可に「読み取りと実行」許可にチェックが付いていることを確認して,[OK]をクリックします。(図5-5)
 (注)「読み取りと実行」許可にチェックを付けると,自動的に「フォルダの内容の一覧表示」「読み取り」許可にもチェックが入ります。

図5-6image5-6.jpg

 

 

(7)アプリケーションプール

 アプリケーションプールとは,Webサーバソフトウェア,IISの機能の一つで,アプリケーションをグループ分けしてそれぞれ独立に実行する仕組みのことです。「tosyo」サイトにアプリケーションプールを設定します。

ア (3)IISの設定で使用した[インターネットインフォメーションサービス(IIS)マネージャー]を開きます。

イ [接続]ペインの[サイト]-[Defalt Web Site]を展開し,[tosyo]を右クリックします。

ウ [アプリケーションへの変換]をクリックします。

エ アプリケーションプールが[DefaultAppPool]であることを確認し,[OK]ボタンをクリックします。(図5-7)

図5-7image5-7.jpg

オ [OK]ボタンをクリックします。

 

 

6 エラーの回避

 tosyoのホームページが表示されたにも関わらず,新着情報をクリックすると,次のエラーメッセージが表示されることがあります。(図6-1)

図6-1image6-1.jpg

 図6-1のメッセージの後,次のエラーメッセージが表示されることがあります。(図6-2)

図6-2image6-2.jpg

 Webブラウザの翻訳機能によって,次のエラーメッセージが表示されることがあります。(図6-3)

図6-3image6-3.jpg

 [インターネットインフォメーションサービス(IIS)マネージャー]を開きます。
 [接続]ペインの[アプリケーションプール]をクリックし,[DefaultAppPool]をクリックし,[操作]ペインの[開始]をクリックします。
 [操作]ペインの[アプリケーションプールの規定値の設定]をクリックし,[32ビットアプリケーションの有効化]をtrueに変更し,[OK]ボタンをクリックします。(図6-4)
図6-4image6-4.jpg

 新着図書情報のタイトルは表示されますが,次のエラーメッセージが表示されることがあります。(図6-5)

図6-5image6-5.jpg

 [インターネットインフォメーションサービス(IIS)マネージャー]を開きます。
 [接続]ペインの[tosyo]をクリックし,[操作]ペインの[基本設定]をクリックします。
 アプリケーションの設定で[接続]ボタンをクリックし,[特定のユーザー]を選択し,[設定]ボタンをクリックし,[ユーザー名],[パスワード]を入力して,[OK]ボタンをクリックします。ここでのユーザー名は,インターネットインフォメーションサービス(IIS)マネージャーの[接続]ペインの一行目「このコンピュータ名(このコンピュータ名\ユーザー名)」にあるものです。(図6-6)
[OK]ボタンをクリックします。続けて,[OK]ボタンをクリックします。

図6-6image6-6.jpg

 新着情報が正しく表示されるようになったら,1年間の貸出ベスト10なども確認します。
 [アプリケーションプールの規定値]の[32ビットアプリケーションの有効化]をFalseに戻し,[tosyo]の[基本設定]の[接続]を[アプリケーションユーザー(パススルー認証)に戻します。
 LANで接続された他のPCで,tosyoのページが表示されることを確認します。

※ここまでのエラー回避策をしても回避できない場合には,[インターネットインフォメーションサービス(IIS)マネージャー]を開き,[接続]ペインの[Default Web Site]をクリックし,[操作]ペインの[再起動]をクリックします。

 

 

7 図書管理システムNoahの利用

 既存の図書管理システムが図書管理システムNoahのときは,比較的簡単にWebアプリケーションを追加することができます。図書管理システムNoahは県内で約120校に利用されています。図書管理システムNoahではシステムプログラムの入ったNoah.accdbと,データの入ったNoahdata.accdbの2つの主要なファイルがあり,2つのファイルはリンク(連結)で繋がっています。2台以上のパソコンで図書管理システムNoahを使用する場合,通常,主のパソコンにこの2つのファイルを入れリンクを設定し,クライアントパソコンにはNoah.accdbのみを入れて主のパソコンにあるNoahdata.accdbとリンクを設定します。この場合,図書検索をするためには校内イントラネットのクライアントパソコン全てにNoah.accdbを置き,リンクを設定することになります。複数のパソコンに図書管理システムNoahをインストールするためのライセンスを取得しなければなりません。台数が多くなれば価格が上がり,インストールする作業が増えます。そこで,ぜひこのWebアプリケーションを追加してみましょう。

(1)図書管理システムNoahの整理
 図書管理システムNoahには,データベースをWeb化するために必要なテーブルとクエリが同梱されていますので,新たに作成する必要はありません。

(2)DBopen.inc
 includeフォルダ内のDBopen.incファイルは,図書管理システムNoahのNoahdata.accdbファイルのパスを指定します。
 DBopen.incファイルをメモ帳などのエディタで開き,パスを指定してください。
DBopen.incファイル
 <%
   filePath = "c:\図書\Noahdata.accdb"
   set db=Server.CreateObject("ADODB.Connection")
   db.Open "Provider=Microsoft.ACE.OLEDB.16.0;Data Source=" & filePath
 %>


7 おわりに

 図書管理システムをWebアプリケーションで使用するときのそのほとんどの利用方法は図書検索と思われます。主になるパソコンは司書室内に置かれ,図書管理システム本体およびデータが入っています。次に,図書室内のカウンタに置かれるパソコンは貸出・返却業務を行い,図書検索も行いますが,蔵書データの入力や訂正は行いません。さらに,図書室内または校内に置かれる3台目以降のパソコンで図書管理システムを利用する目的のほとんどは図書検索でしょう。よって,Webアプリケーションで蔵書データの入力や訂正,貸出・返却業務の機能は必要ないと思われましたが,ここではそれらの機能も備えています。当然,管理者権限や個人情報に関わるのでセキュリティ対策が施されています。

 図書管理システムを導入していない場合には,Microsoft Accessにて図書データベースを作成しなければなりません。これには多くの労力が必要と思われます。既存の図書管理システムがあればぜひそこにWebアプリケーションを追加してみてください。

 このWebアプリケーションを作成するにあたり,愛知エースネット内部ページの一般技術情報から「Webデータベースを作ってみよう」を参考にさせていただきました。
 2023年5月吉日,Windows11 & IIS10.0 に対応するため,このWebページを更新しました。

注記

Microsoft Windows,Microsoft Access,マイクロソフト製品名は,米国およびその他の国におけるMicrosoft Corporationの商標または登録商標です。その他の製品名,社名,ロゴマーク等は該当する各社の登録商標または商標です。