- PR -

WEBサービスからキックされたEXE内でのDBアクセス

投稿者投稿内容
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-03-29 12:46
引用:

まわさんの書き込み (2006-03-29 11:30) より:

本当に申し訳ありません。以後気をつけます。
コネクションを開く際のエラーです。


エラーというか例外は UnauthorizedAccessException でしょうか?
例外の詳細が載っていないので、わからないのです。

まずは「問題の切り分け」をしましょう。
DB が置かれたサーバー内のディレクトリにはアクセスできていますか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ぶさいくろう
ぬし
会議室デビュー日: 2005/11/22
投稿数: 1232
お住まい・勤務地: 川崎市(は俺も含めてロクな人間が住んでないよw)
投稿日時: 2006-03-29 13:00
SQLServerうんぬん以前の段階でアクセス拒否くらってないか?
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2006-03-29 15:58
引用:

まわさんの書き込み (2006-03-29 11:30) より:



Web サービスから、子プロセスの起動までは確認できてるんですよね?
まさかとは思いますが、子プロセスの起動自体がエラーになってたりはしませんよね?

引用:

SQL SERVERのプロパティ-セキュリティは混合モードになっていますが
この設定のままで正しいのでしょうか?



そのままで正しいです。
まわ
常連さん
会議室デビュー日: 2006/03/09
投稿数: 43
投稿日時: 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秒程留まるロジックを入れているのですが
その挙動は見られますので、動いていると思います。


みなさま、ありがとう御座います。
どうぞ宜しくお願い致します。
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2006-03-29 16:26
引用:

------------------------------------------------------------
エラーというか例外は UnauthorizedAccessException でしょうか?
例外の詳細が載っていないので、わからないのです。
------------------------------------------------------------
System.UnauthorizedAccessException: アクセスが拒否されました。
となっています。



子プロセスは起動していて、↑のエラーですか。
DB系の例外じゃ無いのが気になりますね。

DBとの接続プロトコルを TCP/IP だけに絞ると現象が変わったりしませんか?

後、ホントにDB接続時のエラーなのかな?
接続の直前にログファイルとかを書こうとしていて、それがアクセス違反を起こしているとか。

_________________
// 渋木宏明 (Hiroaki SHIBUKI)
// http://hidori.jp/
// Microsoft MVP for Visual C#
//
// @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/
まわ
常連さん
会議室デビュー日: 2006/03/09
投稿数: 43
投稿日時: 2006-03-29 16:42
子プロセスを起動した際の起動ユーザーが
「ASPNET」となっているのですが
WEBサービスはWEB.CONFIGで偽装を行い testuser/testとしています。

DBサーバー内のファイル・SQLサーバーへのアクセス権限は
DBサーバー内でtestuser/testという同一ユーザーに与えています。

子プロセスの起動ユーザーを見ていると違うので気になるのですが
このこの部分は関係してくるのでしょうか。

渋木宏明(ひどり)さん>
------------------------------------------
DBとの接続プロトコルを TCP/IP だけに絞ると現象が変わったりしませんか?
------------------------------------------
これの試し方が理解できないのですが、教えていただけませんでしょうか。
宜しくお願い致します。
macoto
常連さん
会議室デビュー日: 2006/02/15
投稿数: 25
お住まい・勤務地: 東京都/東京都
投稿日時: 2006-03-29 16:44
引用:

------------------------------------------------------------
エラーというか例外は UnauthorizedAccessException でしょうか?
例外の詳細が載っていないので、わからないのです。
------------------------------------------------------------
System.UnauthorizedAccessException: アクセスが拒否されました。
となっています。


------------------------------------------------------------
DB が置かれたサーバー内のディレクトリにはアクセスできていますか?
------------------------------------------------------------
System.IO.Directory.Existsでチェックしたところ、WEBサービス経由からEXE
をキックした場合、アクセスできませんでした。
EXEを直接起動した場合、アクセスできました。




じゃんぬねっとさんにはもう察しがついていそう。

Webサービスを実行しているワーカプロセスの実行ユーザがDB関連のファイル
にアクセスできていないように思えます。
WebサービスがあるOSはWindows2003でしょうか?
2003であれば、Webサービスのアプリケーションプールの実行ユーザが権限の
あるユーザになっているかどうかの問題かもしれません。
(EXEをキックするときにユーザを変えていない場合です)
まわ
常連さん
会議室デビュー日: 2006/03/09
投稿数: 43
投稿日時: 2006-03-29 17:02
macotoさん>
お返事ありがとう御座います。
WEBサービスが置かれているPCはWINDOWSXPです。

------------------------------------------
Webサービスを実行しているワーカプロセスの実行ユーザがDB関連のファイル
にアクセスできていないように思えます。
------------------------------------------
WEBサービスを実行するユーザーとWEBサービス中にキックされるEXEのユーザーは同一ということでしょうか。

宜しくお願い致します。

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