- PR -

ASPから書き込んだファイルが正常に閉じられない

1
投稿者投稿内容
goronoteiri
会議室デビュー日: 2007/08/24
投稿数: 4
投稿日時: 2007-08-24 17:24
はじめて質問させていただきます。

ASPでファイルを開いて書き込むというプログラムを開発しているのですが、
毎回ちゃんとファイルを閉じているはずなのに、開いたままの状態になって、
次回開こうとしたときに失敗するという現象が発生しています。

正確には下記のような状況です。

ASP から ActiveX コンポーネントのメソッドを呼び、そのメソッドの中で
別の DLL (非ActiveX)の関数を呼んでファイルに書き込む。
ファイルのパスはIISサーバと同じマシン内。

環境
OS:Windows Server 2003 Enterprise Edition SP1
ActiveXコンポーネント開発環境:VB 6.0
別のDLL:Excel Creator 2.0

不思議なのは、その状況に陥ったとき、サーバにログインして直接その
ファイルを開こうとするとちゃんと開けて、書き込み・削除も普通にできるの
ですが、他のマシンからネットワーク共有を通して開こうとすると
「他のプログラムが使用しているため書き込みできません」
となることです。

IISのワーカープロセスをリサイクルするとその「ファイルを閉じた」ことになります。

openfiles コマンドではそのファイルは表示されません。
下記のソフトを使っても、そのファイルを開いているプロセスはないとのことです。
http://cowscorpion.com/file/Unlocker.html

解決になる情報をお持ちでしたら、アドバイスをいただけないでしょうか。
よろしくお願い致します。
プレマニア
常連さん
会議室デビュー日: 2007/08/24
投稿数: 34
投稿日時: 2007-09-13 00:16
引用:

goronoteiriさんの書き込み (2007-08-24 17:24) より:

不思議なのは、その状況に陥ったとき、サーバにログインして直接その
ファイルを開こうとするとちゃんと開けて、書き込み・削除も普通にできるの
ですが、他のマシンからネットワーク共有を通して開こうとすると
「他のプログラムが使用しているため書き込みできません」
となることです。

IISのワーカープロセスをリサイクルするとその「ファイルを閉じた」ことになります。

解決になる情報をお持ちでしたら、アドバイスをいただけないでしょうか。
よろしくお願い致します。



半月近くも前の話題なのにすみません。まだgoronoteiriさんが解決されているかわかりませんが
私も知っておきたいので、解決されていたらぜひ教えてください。
もしくは解決されていなければ以下の点をお手数ですが教えてください。

  1. 「コンピュータの管理」に共有フォルダのセッションが表示できたと思いますが、現象が発生しているときファイルに対するセッションは残っていましたか?
  2. 「サーバにログインして開いて書き込んで閉じたあと」もネットワーク共有からは開けないのでしょうか?

実機が手元にないので正確ではないかもしれませんが、このあたりの情報が解決の糸口かも知れません。
goronoteiri
会議室デビュー日: 2007/08/24
投稿数: 4
投稿日時: 2007-09-14 18:22
プレマニアさん
情報をありがとうございます。

こちらではまだ解決しておりません。

>1. 「コンピュータの管理」に共有フォルダのセッションが表示できたと思いますが、現象が発生しているときファイルに対するセッションは残っていましたか?

残っていませんでした。

>2. 「サーバにログインして開いて書き込んで閉じたあと」もネットワーク共有からは開けないのでしょうか?

開けませんでした。当該ファイルを削除し、同名のファイルを新規作成しても
やはり開けませんでした。

このパスのファイルが使用中であるという情報がどこかにキャッシュされている
のでしょうか…?
ネットワーク共有を通すとどのマシンからも開けないので、その情報があるとしたら
サーバだと思うのですが。
1

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