- PR -

IIS6 + ASP + Access2003で時々DBアクセス不能

投稿者投稿内容
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2006-05-24 18:36
AYANOさん、こんばんは。

ご存じとは思いますが、サポート技術情報の「IIS 上での Jet データベース エンジンの使用について」というドキュメントには、この手の現象は起こり得るものとして明記されています。
回避するためには、他の方の発言にあるように「ちゃんとした DB を使いましょう」という事になります。

ただ、これまで Windows 2000 Server では問題なく動いていたという事ですので、駄目で元もと、IIS5.0 プロセス分離モードで WWW サービスを実行してみては如何でしょうか?
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2006-05-24 19:29
引用:

きくちゃんさんの書き込み (2006-05-24 18:36) より:
ご存じとは思いますが、サポート技術情報の「IIS 上での Jet データベース エンジンの使用について」というドキュメントには、この手の現象は起こり得るものとして明記されています。


このマイクロソフトの日本語のページだと Jet がボロクソに書いてありますね。これって意訳されていないのでしょうか、という疑問を持ちました。
http://support.microsoft.com/search/default.aspx?catalog=LCID%3D1033&spid=global&query=Internet+Information+Server+Jet+Access+ODBC&adv=&mode=r&cat=False
あたりで探してみましたが、ピッタリのものは見つかりませんでしたが、近いトピックとしては、英語版で、
http://support.microsoft.com/kb/299974/en-us
が見つかりました。
しかし、この英語版だと、そこまでボロクソには書いてなかったです。

#以下、あとで追加。
この英語版のページの右側にある翻訳ボタンを押すと日本語のページが出るんですね。
http://support.microsoft.com/kb/299974/ja

--
unibon {B73D0144-CD2A-11DA-8E06-0050DA15BC86}

[ メッセージ編集済み 編集者: unibon 編集日時 2006-05-24 19:33 ]
AYANO
会議室デビュー日: 2004/08/03
投稿数: 11
投稿日時: 2006-05-25 18:19
こんにちは。
今日も発生しています。

かなしいことに
みなさんのご助言のおかげで、
しばらくこのまま運用を続けることになりました。
PGMに起因しないという結論で納得してもらったので、
後はちゃんとしたDBを使うかどうかの判断が上からおりるかどうか
だと思います。

ASPに限らず、IIS6+Accessのアプリケーションに関しては
今後こういう事態もありうるという前提で関連部門にお話しすることにします。

みなさん、
ありがとうございました!!
また、動きがあったら報告いたします。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2006-05-25 20:10
引用:

きくちゃんの書き込み (2006-05-24 18:36) より:
駄目で元もと、IIS5.0 プロセス分離モードで WWW サービスを実行してみては如何でしょうか?


って、既にそれは試してたのね…。
#ちうか、一番最初にそう書いてあるし。orz

アプリケーションを変更できないなら、最終的には OS を 2000 にダウングレードするとか、Virtual Server 上で 2000 を動かすとか、そういう手もアリかも知れませんね。
とくとく
会議室デビュー日: 2006/07/05
投稿数: 1
投稿日時: 2006-07-05 09:08
はじめて書き込みをします。
現在、Windows2000サーバー(IIS5)+Access2000+ASPで業務システムを動かしています。
その前はNT4.0(IIS4?)+Access97+ASPでしたが、2年前に移行しました。

組織内でOffice2000にそろえているものをOffice2003にしたいと思い、Accessが2003になっても問題がないか調べていてこのページを見つけました。

現在の環境では結構複雑な処理もしていますが、同時アクセスが少ないのか、問題はおきていません。
ただ、検索・表示中心だった運用から初めて更新を組んだとき(NT4の頃)、運用開始時に不定期に反応がなくなるトラブルがあったように記憶しています。
IT関連部門から情報を得て、DB接続を実行する前に必ずダミーの接続を行う、というコードを追加し、今もほとんどのASPに書き込んでいます。

Set db=Server.CreateObject("ADODB.Connection")
'*************************
  db.Open "DUMMY" →空のMDBをダミーとしてODBC接続先に登録しておく
  db.Close
'*************************
db.Open "(本当に開きたい接続名)"

といった具合です。
以来、サーバーOSやIISが変わってもそのようなエラーは起きていません。
エラーの詳細や、上記情報の詳細を残していなかったのですが、確かJetの不安定さによる不具合の回避法としてどこかに載っていたものだと記憶しています。
とても古い情報で恐縮ですが、そもそもこうした対策で安定した理由もよくわからないので、もしやサーバーOSやIISが新しくなっても有効な場合があるかもしれないと思い立ちました。
思えば、ASPを使う前はIDC(SQLを書いたテキスト)とHTX(結果を表示する雛形HTML)を使った簡単なものを作ったのが始まりでしたが、ASPに移行したのもIISのバージョンアップによってしょっちゅう固まるようになったからです。

これからOffice2003を入手して調査したいと思いますが、サーバーOSは用意できず、新しい環境でしかも同時利用ユーザーの状況を作るのは難しいので不安です。
どうしてものときはSQLサーバー2005の無償版(MSDEの最新版)に切り替える必要があるかも知れませんが、ちょっと触ってみた限り経験がないので結構敷居が高そうです。
敷居の低さとそこそこのパフォーマンスからAccessを利用していますが...

もし、ダミー接続によって改善するか、ダメ元で試していただけたら幸いです。

スキルアップ/キャリアアップ(JOB@IT)