• ベストアンサー

ASPでファイルアクセス失敗

ASPでファイルシステムオブジェクトを作成して、 相対パスでホームディレクトリ内のテキストファイルにアクセス しようしてるのですが、ファイルの読み込みができません。 なにかIIS側に設定などがあるのでしょうか? とりあえずアクセス許可関係は全部許可してます。 状態としてはファイル読み込みの処理あたりで停止? しているようで、ブラウザのステータスバーの処理状況ゲージ?が 中間ぐらいでとまってます。 パスの取得、パスからファイルシステムオブジェクトの作成までは うまくいっている模様です。 ファイルの存在チェックはできました。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • hequil
  • ベストアンサー率65% (242/372)
回答No.2

ソース自体は問題ないようですね (手元のWindows2000 Serverでテストしてみました) あとはIIS側の問題のような気がしますので #1に挙げた内容をチェックしてみて下さい。

FireBomber
質問者

お礼

まさにノートンのスクリプト遮断でした。 ありがとうございます。

その他の回答 (1)

  • hequil
  • ベストアンサー率65% (242/372)
回答No.1

ソースがないので、サーバー(IIS)側の原因として 思いつくものを挙げてみます。 ・サーバー側でアンチウイルスソフトなどのスクリプト遮断が動作している(よくあるのがNorton AntiVirus) ・IISの設定で親パス無効にしている(デフォルトは有効) あと、質問に書かれていらっしゃる内容が「本当」に正しいのであれば該当しませんが、一応以下の原因も考えられます。 ・ASPからの該当ファイルのアクセス権限(匿名ユーザーでIISの設定を変更していなければ「IUSR_サーバー名」)が適切ではない ・マイクロソフトのIISのセキュリティチェックリストを実践して、ファイルシステムオブジェクト自体を無効にしている

FireBomber
質問者

補足

<% mp = Server.MapPath("/") & "\inst.txt" Set fs = Server.CreateObject("Scripting.FileSystemObject") Set fh = fs.OpenTextFile(mp, 1) ※このへんでとまっている様子 data = fh.ReadAll fh.Close Response.Write data %> ちなみにこれがソースです。 ASPの練習本に載っていたものなので あっているとおもいます。

関連するQ&A

  • ASPのファイルを他のサーバにコピーしたらアクセスできなくなった!

    ASP.NETで作ったページを、別のサーバに移すことになり、 IISで指定したファイルをそのまま移動先にコピーして、 データベースの接続先を変えて試してみたところ、 / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\ アクセスが拒否されました。 説明 : この要求の処理に必要なリソースにアクセスしようとしてエラーが発生しました。要求された応答を表示するアクセス許可がない可能性があります。 エラー メッセージ 401.3: 指定された資格情報を使用してこのディレクトリまたはページを表示するためのアクセス許可がありません。ACL によってアクセスが拒否されました。Web サーバー管理者に相談してアクセスを取得してください。 \__________________________________/ という、エラーがでてしまい、アクセスできません。 原因が、IISかSQLServerの設定なのか、 ソースやコードにもっと変更しなくてはいけない箇所があるのか、 色々試してみたのですが、解決できませんでした。 わかりにくい文かとは思いますが、 どうぞ、ご教授よろしくお願いしますm(_ _)m

  • ASPでExcelファイルを開く場合

    ASPでExcelファイルを開く場合WEBでいろいろ検索すると Set ObjExcel = Server.CreateObject("Excel.Application") ObjExcel.Workbooks.Open"****.xls" で開く方法が記載されていたので ためしているのいですが Set ObjExcel = Server.CreateObject("Excel.Application") でエラーが出てしまいます。 解決する方法はありますでしょうか。 環境:Windows XP,IIS,Office 2003 **************************************************** エラー タイプ Server オブジェクト, ASP 0178 (0x80070005) 許可を確認中に Server.CreateObject の呼び出しに失敗しました。このオブジェクトへのアクセスは拒否されます。 *****************************************************

  • ASPで、アクセスカウンタを作成したい

    環境は、OS:Windows2000Server、IIS5.0です。 ASPで、アクセスカウンタを作成したいのですが、 カウントアップの計算は、テキストファイルを開くのではなく、Excelファイルを開いて計算させたいです。 よろしくお願いします。

  • Accessで作ったaspが動かない

    AccessのDBをWEBで見えるようにするため、会社のserver(NT4)にIIS4.0をインストールしました。(他のHTML書類はOKです) 本にはAccessから「HTMLで保存」でaspを作成すれば、簡単に見えるように書いてありますが内部サーバーエラー(HTTP-500)で見れません。 何か他にしなければいけないことがあるのでしょうか?

  • アクセス97のファイルをアクセス2007で開くには

    はじめまして。 手元にAccess97で作成したmdbファイルがるのでが、Windows7環境のAccess2007で開くことができません。 エラーメッセージは、「オブジェクト 'テーブル1'が見つかれませんでした。オブジェクトが存在していること、名前やパス名が正しいことを確認してください。」となっています。 このファイルをAccess2007で開くためには、いったんAccess2000~Access2003で保存し直したうえで、Access2007で開く必要があるという情報をMSのページで見ました。 しかし私はAccess2000~Access2003環境を持っておりません。 そのような中で、このAccess97で作成したmdbファイルを開かなければならないのですが、何か方法はないでしょうか。 ご教示いただけると誠に幸いです。 どうぞよろしくお願いいたします。

  • ASP.NETで共通ファイルにまずアクセス?

    IISのASP.NETで複数のページがあり、 共通のメソッドを実行したい場合、 各ページにメソッドを記述しないといけません。 これをある特定のファイルに記述しておけば、 全部のアクセスは最初にそこを通るようにするような ことは可能でしょうか?

  • aspのページが表示できません

    windows 2003 server上に IIS6.0にて仮想ディレクトリを作成し、HTMLファイルは 動くのですが、なぜかASPファイルを表示 しようとすると、ページを表示できませんとなります。 仮想ディレクトリタブの実行アクセス許可は、スクリプト及び実行可能ファイルにして、ドキュメントタブの既定のコンテンツページを有効にチェックを入れ、index.aspを追加し、頭に置いてあります。 aspはマッピングしてあります。 Win2000で試したところ問題なく表示できます。 また、外部との接続はしていません。イントラネットのみです。(前の担当者が設定)初心者なもので全くわかりません。 どなたかご教授お願いいたします。

  • ASP.NET クライアント→サーバーに移動させる

    お世話になります。 クライアントPCでASP.NETの開発環境をインストールして簡単なテストプログラムを作成しました。 Webサーバーではないのですが、IIS7.0がインストールされていて、簡単なPHPプログラムが動く環境の Windows Server 2008 R2 の inetpub\wwwroot\test のフォルダを作成して(IISは 192.168.0.10とします、IIS関連のプログラムはASP.NETも含め全部インストール済です) 作成した test.aspxファイル、test.vbファイルを入れて ttp://192.168.0.10/test/test.aspx を叩くと 401 - 権限がありません: 資格情報が無効であるため、アクセスが拒否されました。 指定した資格情報を使用して、このディレクトリまたはページを表示するアクセス許可がありません。 とエラーが表示されてしまいます。 PHPの時はクライアントで作成したファイルを同じような形でサーバーのIISフォルダにサブフォルダを作成してファイルを張り付け、クライアントからIEで問題なく稼働してたのに・・・ もしかして、上記2つのファイルでは少ないとか、何か許可を出させる命令を実行するとか、 わたくしが見落としている点などありましたら、何卒ご指摘いただけますようお願いいたします。 開発には Microsoft Visual Web Developer 2010 Express を使用しております。 この環境でサーバーに直接アップロードしてデバックなど実行できるようにできるなど、 そういうご回答でもまったく問題ございませんので、何卒ご教授いただければと存じます。 よろしくお願いいたします。

  • ASPからファイルの圧縮をする

    ASPで作成されたHTMLのファイル一覧から 選択された複数のファイルを圧縮されたファイルを ダウンロードするようにしたいのですが 選択選択された複数のファイルを圧縮されたファイルの 作成をどうするのかに困っています 私としては、LHAのActiveX版があって ASPからLHAのオブジェクトが生成できれば できるように思うのですが、その存在、ドキュメントも 知らないので、ご存知の方、お知らせ下さい

  • [ASP]Accessファイルへの接続でエラー

    VPSサーバでASPを動かしたいのですが、エラーが出てしまい、困っています。 ・Windows サーバ 2008 R2 ・IIS7.0 エラー詳細は ・ADODB.Connection エラー '800a0e7a' プロバイダーが見つかりません。正しくインストールされてい ない可能性があります と出てきます。 ネットで調べて、このプロバイダというものをインストールし、コンパネからODBCに設定してやれば上手くいく、という答えにたどり着いたのですが、64bitと32bitの混在、Accessのバージョンでスクリプトが違うとか、様々なケースで対策が違うようで、分からなくなってしまいました。 また、Windowsサーバには、最初からこのプロバイダというものがインストールされている、と書いてある記事を見つけたり、それならどうしてエラーが出てしまうのか、途方に暮れています。 更にややこしい事に、このASPは海外の方が作ったショッピングサイトらしく、社内で誰もパソコンに詳しくないので私に回ってきたのです。 私のスペックは、簡単なWebサイトが作れる程度です。 サーバやらIISやら、必死になって設定するような素人です。 その為、取り敢えず自分のWindows7でIIS7.0を立ち上げ、簡単なAccessファイルに接続するASPを作りテストしていますが、やはり同じエラーが出てしまいます。 テストで作成したコードはこんなものです。 Dim test Set test = Server.CreateObject("ADODB.Connection") test.Provider = "Microsoft.ACE.OLEDB.12.0" test.ConnectionString = "フルパス~.mdb" test.Open Accessファイルのバージョンは、恐らく2003、もしくは2007です。 一体どのプロバイダをインストールすれば良いのか、インストールした後はどうすれば良いのか、どうか御指南頂けますよう、よろしくお願い致します。