locked
レガシーASPでMDBを使った場合、ユーザーアカウントでは動作しない RRS feed

  • 質問

  • レガシーASP(VB Script type Active Server Page)でMDB(MSアクセス)を使った場合、ユーザーアカウントでログオンしたPC上では動作しない。

    ただし、そのユーザーアカウントをWin2008サーバーに管理者として登録すれば、できるようになります。もちろん、これは反則わざですよね。

    なにかいい解決方法はないでしょうか?MDBが存在するフォルダににeveryoneフルアクセス権限を与えてもだめでした。

     

    ちなみに、ASP.NET2.0でMDBを使ったものは、MDBが存在するフォルダにアプリケーションプールのID(デフォルトではNetwork Service)に変更削除読み取り権限をあたえれば動作します。

     

    またレガシーASPでSQL Server を使った場合は動作確認できました。

    2007年7月5日 4:11

回答

  • こんにちは。だどさんと申します。

     

    試してみましたが特に何も問題なく MDB が使えました。

     

    IIS も匿名認証のみとし IIS アクセスログにユーザー名が記録されない状態であることは確認しました。

    また、MDB をポイントする際、システム DSN を指定する場合、直接 ConnectionString で Driver を

    指定する場合と両方試しましたが問題ありませんでした。

     

    ユーザーアカウントでログオン、のくだりが理解できていないのかもしれませんが、管理者権限の無いユーザーで

    ログオンした状態をつくり、アクセスしても特に問題ありませんでした。

     

    プロファイルに左右されるとしたら、システム DSN を使っていないのかな?と思いましたが、

    再現できなかったのでなんとも言いがたい状態です。(MDB を使うときはシステム DSN でポイントする、

    というのは古くからの推奨事項です)

     

    問題を勘違いしてましたら申し訳ありませんが、とりあえず、動作確認しましたのでご報告までに。

     

    ------------------------------------------

    だどさん http://keicode.com/

     

    2008年12月9日 3:25

すべての返信

  • だいぶ前のスレッドですが、Windows Server 2008のフォーラムにあったご質問をIISフォーラムの方に移動して持ってきました。このご質問は既存のアプリケーションがある場合に当然の質問だと思います。

     

    ASPに関する話は下記のBill Staplesの記事がいいと思います。
    Tips for Classic ASP developers on IIS7
    http://blogs.iis.net/bills/archive/2007/5/21/1718507.aspx

     

    Accessに関してはより具体的な投稿が下記にあり、上の記事からポイントしてます。

    http://blogs.iis.net/bills/archive/2006/10/18/loadUserProfile-and-IIS7-_2D00_-understanding-temporary-directory-failures.aspx

     

    ご参考になれば幸いです。

     

    あとは IIS7 で ASP をインストール後の既定ではエラーもクライアントに詳細を返さないようになっているのでサーバーをクリックしてASPのアイコンから問題解決のために特に デバッグプロパティの設定をいくつか有効にしておくといいと思います。ブラウザーへのエラー送信や行番号の計算なんかは特に欲しいですよね。

     

    また、IIS.NETではClassic ASPの専用フォーラムがあります。

    http://forums.iis.net/1044.aspx

     

    特にView数の多いものをご覧いただくと多くの問題に関しては議論が行われていますのでこちらも参考になると思います。

    2008年12月8日 22:25
  • こんにちは。だどさんと申します。

     

    試してみましたが特に何も問題なく MDB が使えました。

     

    IIS も匿名認証のみとし IIS アクセスログにユーザー名が記録されない状態であることは確認しました。

    また、MDB をポイントする際、システム DSN を指定する場合、直接 ConnectionString で Driver を

    指定する場合と両方試しましたが問題ありませんでした。

     

    ユーザーアカウントでログオン、のくだりが理解できていないのかもしれませんが、管理者権限の無いユーザーで

    ログオンした状態をつくり、アクセスしても特に問題ありませんでした。

     

    プロファイルに左右されるとしたら、システム DSN を使っていないのかな?と思いましたが、

    再現できなかったのでなんとも言いがたい状態です。(MDB を使うときはシステム DSN でポイントする、

    というのは古くからの推奨事項です)

     

    問題を勘違いしてましたら申し訳ありませんが、とりあえず、動作確認しましたのでご報告までに。

     

    ------------------------------------------

    だどさん http://keicode.com/

     

    2008年12月9日 3:25
  • こんにちは、フォーラムオペレーターの鈴木裕子です

     

    だどさん さん、検証に基づいた、大変大変貴重な情報をありがとうございました!

     

    Yawata133 さん、

    ご投稿からかなり時間が経っておりますが、だどさん さんのご投稿はご参考いただけましたでしょうか?

    こちらの貴重な情報を、ぜひ多くの方に活用していただきたいと思い、勝手ながら私の方で回答チェックをつけさせていただきました。

    Yawata133 さんはチェックの解除ができますので、もし引き続きのご質問がある場合は、遠慮なくチェックを解除して投稿を続けていただければと思います。

    また、Forumをご覧のほかの皆様も、何か情報があれば遠慮なくご投稿ください

     

    IT技術者の皆様の情報交換の場として、これからもForumをご活用くださいね!それでは。

    2008年12月18日 8:13
    モデレータ