- - PR -
WEBサービスからキックされたEXE内でのDBアクセス
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-03-29 12:46
エラーというか例外は UnauthorizedAccessException でしょうか? 例外の詳細が載っていないので、わからないのです。 まずは「問題の切り分け」をしましょう。 DB が置かれたサーバー内のディレクトリにはアクセスできていますか? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-03-29 13:00
SQLServerうんぬん以前の段階でアクセス拒否くらってないか?
| ||||||||
|
投稿日時: 2006-03-29 15:58
Web サービスから、子プロセスの起動までは確認できてるんですよね? まさかとは思いますが、子プロセスの起動自体がエラーになってたりはしませんよね?
そのままで正しいです。 | ||||||||
|
投稿日時: 2006-03-29 16:16
macotoさん>
------------------------------------------------------------- Data Source が TESTPC1 だったり TESTPC01 だったり変わっているのは何故でしょうか?少しずつ原因を探っていく必要があると思いますが、条件が変わってしまっては検証にならないかと思います。 ------------------------------------------------------------- すみません。こちらの文章入力ミスです。 ------------------------------------------------------------- あと、Webサービスからのexe起動とありますが、ユーザからの起動で動作確認をしたマシンはWebサービスがあるマシンで行いましたでしょうか? ------------------------------------------------------------- WEBサービス経由ではない直接起動の事ですね? WEBサービスがあるマシンで行いました。 じゃんぬねっとさん> ------------------------------------------------------------ エラーというか例外は UnauthorizedAccessException でしょうか? 例外の詳細が載っていないので、わからないのです。 ------------------------------------------------------------ System.UnauthorizedAccessException: アクセスが拒否されました。 となっています。 ------------------------------------------------------------ DB が置かれたサーバー内のディレクトリにはアクセスできていますか? ------------------------------------------------------------ System.IO.Directory.Existsでチェックしたところ、WEBサービス経由からEXE をキックした場合、アクセスできませんでした。 EXEを直接起動した場合、アクセスできました。 ぶさいくろうさん> 私には今の段階では判断できませんが、DBサーバのファイルにもアクセスできない事を考えると、そうかもしれません。 渋木宏明(ひどり)さん> ---------------------------------------------------------- Web サービスから、子プロセスの起動までは確認できてるんですよね? まさかとは思いますが、子プロセスの起動自体がエラーになってたりはしませんよね? --------------------------------------------------------- プロセスで確認していますが、EXE内で10秒程留まるロジックを入れているのですが その挙動は見られますので、動いていると思います。 みなさま、ありがとう御座います。 どうぞ宜しくお願い致します。 | ||||||||
|
投稿日時: 2006-03-29 16:26
子プロセスは起動していて、↑のエラーですか。 DB系の例外じゃ無いのが気になりますね。 DBとの接続プロトコルを TCP/IP だけに絞ると現象が変わったりしませんか? 後、ホントにDB接続時のエラーなのかな? 接続の直前にログファイルとかを書こうとしていて、それがアクセス違反を起こしているとか。 _________________ // 渋木宏明 (Hiroaki SHIBUKI) // http://hidori.jp/ // Microsoft MVP for Visual C# // // @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/ | ||||||||
|
投稿日時: 2006-03-29 16:42
子プロセスを起動した際の起動ユーザーが
「ASPNET」となっているのですが WEBサービスはWEB.CONFIGで偽装を行い testuser/testとしています。 DBサーバー内のファイル・SQLサーバーへのアクセス権限は DBサーバー内でtestuser/testという同一ユーザーに与えています。 子プロセスの起動ユーザーを見ていると違うので気になるのですが このこの部分は関係してくるのでしょうか。 渋木宏明(ひどり)さん> ------------------------------------------ DBとの接続プロトコルを TCP/IP だけに絞ると現象が変わったりしませんか? ------------------------------------------ これの試し方が理解できないのですが、教えていただけませんでしょうか。 宜しくお願い致します。 | ||||||||
|
投稿日時: 2006-03-29 16:44
じゃんぬねっとさんにはもう察しがついていそう。 Webサービスを実行しているワーカプロセスの実行ユーザがDB関連のファイル にアクセスできていないように思えます。 WebサービスがあるOSはWindows2003でしょうか? 2003であれば、Webサービスのアプリケーションプールの実行ユーザが権限の あるユーザになっているかどうかの問題かもしれません。 (EXEをキックするときにユーザを変えていない場合です) | ||||||||
|
投稿日時: 2006-03-29 17:02
macotoさん>
お返事ありがとう御座います。 WEBサービスが置かれているPCはWINDOWSXPです。 ------------------------------------------ Webサービスを実行しているワーカプロセスの実行ユーザがDB関連のファイル にアクセスできていないように思えます。 ------------------------------------------ WEBサービスを実行するユーザーとWEBサービス中にキックされるEXEのユーザーは同一ということでしょうか。 宜しくお願い致します。 |