| 分類:[VBScript]
サーバ Windows Server 2016 Office Pro 2016
クライアント Windows10 Pro 20H2 InternetExplorer11
サーバ上に置いたAccessのデータ(1000件程度のデータテーブル1つ)を検索し表示するWEBページを作成しましたが、 ページが表示されるのに40秒かかる場合があります(時間を置いて1回目) 1回目:40秒 2回目:1秒未満 3回目:1秒未満
時間をおいて(数時間) 4回目:40秒 5回目:1秒未満 6回目:1秒未満
どこに時間が掛かるのか経過時間を各処理の間に記述して確認したところ、 ADO_DB.Closeの処理で時間が掛かっていました。 原因が分からず困っております。 Accessは閉じるときに最適化するようにはしておりません。 何か解決する方法ありますでしょうか?
<HTML>
<SCRIPT LANGUAGE="VBScript" RUNAT=Server> DIM DB DIM RS DIM SQL
'Access接続処理 FUNCTION Access_Open() Set DB = Server.CreateObject("ADODB.Connection") DB.Open "Provider=Microsoft.ACE.OLEDB.12.0;Persist Security Info=False;Data Source=" & Server.MapPath("./test.accdb") END FUNCTION
'Access切断処理 FUNCTION Access_Close() ADO_DB.Close END FUNCTION
'SQL発行 FUNCTION Search(SQL) RS.Open SQL,DB,3,3 END FUNCTION
</SCRIPT>
<BODY> <% Call Access_Open()
Set RS = Server.CreateObject("ADODB.Recordset") Call Search("SELECT * FROM TEST_TABLE")
Do Until RS.EOF Response.Write("<TR>") Response.Write("<TD NOWRAP>" & RS("DATA1") & "<BR></TD>") Response.Write("<TD NOWRAP>" & RS("DATA2") & "<BR></TD>") Response.Write("</TR>" & CHR(13))
RS.Movenext Loop SET RS = NOTHING
Call Access_Close '←ここで時間が掛かる %> </BODY> </HTML> |