- - PR -
WEBサービスからキックされたEXE内でのDBアクセス
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-03-29 17:06
ワーカプロセスの実行ユーザーの権限の問題とありましたが
aspnet_wp.exeの実行ユーザーはASPNETです。 | ||||||||
|
投稿日時: 2006-03-29 19:02
偽装って起動したプロセスには効かないんじゃなかったでしたっけ?
なんで、起動したプロセスの方はASPNETの方になっててとか そういう話じゃないですか? ※流れをちゃんと追ってないし、そういう話だとしてもおかしい、のかもしれませんが… | ||||||||
|
投稿日時: 2006-03-29 19:31
なちゃさん>
ありがとう御座います。おっしゃるとおりで なぜ子プロセスはしっかりをASPNETで呼ばれているのだろうと いう疑問も持っておりました。 さきほど、 ・ASPNETユーザーのパスワードを任意に変更 ・machine.configを同じパスワードに設定 ・DBサーバーに同じID/PASSの ASPNET/PASSを作成し実行したところ DBサーバーに配置されているとあるファイルには子プロセスから参照することが できました。しかし、未だにデータベースの方は解決しません。 System.ApplicationException: アクセスが拒否されました。 が発生します。 at System.Security.Principal.WindowsIdentity._GetCurrentToken() at System.Security.Principal.WindowsIdentity.GetCurrent() at System.Data.SqlClient.DefaultPoolControl.GetCurrentWindowsIdentity() at System.Data.SqlClient.DefaultPoolControl.ObtainSidInfo(IntPtr& SID, IntPtr& tokenStruct) at System.Data.SqlClient.SqlConnectionPoolManager.GetPooledConnection(SqlConnectionString options, Boolean& isInTransaction) at System.Data.SqlClient.SqlConnection.Open() at TestJobExe.SdxDataBase.Connect(String cStr, String& errorMsg)[MethodName : Connect] [Message : アクセスが拒否されました。 先ほどじゃんぬねっとさんにご指摘いただいた 「System.UnauthorizedAccessException: アクセスが拒否されました。 」 とは違うエラーが発生いたしました。 | ||||||||
|
投稿日時: 2006-03-29 19:36
System.ApplicationException: アクセスが拒否されました。
が発生します。 --------------------------- は Data Source = TESTPC1; Initial Catalog = testserverdb; Integrated Security = SSPI; というWINDOWS認証で接続した際に発生した例外です。補足いたします。 失礼致しました。 | ||||||||
|
投稿日時: 2006-03-29 20:12
の可能性があるので、「接続プロトコルを TCP/IP のみにしてみては?」とアドバイスしてみました。 DB接続に名前付パイプを使用していた場合、プロセスのアカウント権限が問題になると考えたためです。 | ||||||||
|
投稿日時: 2006-03-29 21:05
渋木宏明(ひどり)さん>
TCP/IPのみで接続する方法を教えていただけませんでしょうか。すみません。 接続方法の種類で名前付きパイプやTCP/IPでの接続が存在するということは 調べて分かったのですが、具体的に何をすればいいのか分かりませんでした。 どうかお願い致します。 | ||||||||
|
投稿日時: 2006-03-31 11:18
連投で申し訳御座いません。
皆様ありがとう御座います。 WEBサービスからキックされるEXEの起動ユーザーを ASPNETではなくしたいのですが、ユーザーを明示的に指定するなどして 起動させる事はできるのでしょうか。 宜しくお願い致します。 | ||||||||
|
投稿日時: 2006-03-31 12:32
こういう場合、名指してのは気分よくないもんなんですよ ;-p
SQL Server のバージョンによって手順が違います。 クライアント/サーバともに SQL Server 2005 のコンポーネントを使用しているなら、SQL Server Configration Manager でプロトコル構成を設定します。 クライアント/サーバの設定をあわせておかないと、当然、まったく接続できなくなります。 |