私は、Web サービスを呼び出してから SQL サーバーを呼び出す WCF サービスを開発しています。同じソリューション内からテストすると、すべてが機能します。現在、IIS で WCF サービスをホストしており、asp.net Web アプリケーションからサービスを呼び出そうとしています。現在、IIS サービスはローカル マシンでホストされています。SQL Server Management Studio で接続するときに Windows 認証を使用しています。Web サービスを呼び出すと、SQL を呼び出すときに次のエラーが発生するため、資格情報が気に入らないと想定しています。
Login failed for user 'MYDOMAIN\MYMACHINENAME$'.
Web サービスを呼び出すコードは次のとおりです。ご覧のとおり、資格情報を明示的に渡そうとしました。
var providerService = new ProviderServices.ProviderService();
providerService.Credentials = new NetworkCredential("myusername", "mypassword", "mydomain");
providerService.UseDefaultCredentials = false;
providerService.CheckProviderExclusion(PPLUser.CurrentProgram.ProgramLabel, ps.No, ps.ProviderName, ps.SocialSecurityNo);
例外の内部テキストは次のとおりです。
ユーザー「PCGUS\BON-0010882$」のログインに失敗しました。System.Data.SqlClient.SqlInternalConnection.OnError (SqlException 例外、ブール値 breakConnection、Action'1 wrapCloseInAction) で System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning (TdsParserStateObject stateObj、ブール値 callerHasConnectionLock、ブール値 asyncClose) で System.Data.SqlClient.TdsParser .TryRun(RunBehavior runBehavior、SqlCommand cmdHandler、SqlDataReader dataStream、BulkCopySimpleResultSet bulkCopyHandler、TdsParserStateObject stateObj、Boolean& dataReady) System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior、SqlCommand cmdHandler、SqlDataReader dataStream、BulkCopySimpleResultSet bulkCopyHandler、TdsParserStateObject stateObj) で System. System.Data の Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK)。
SQL Server 接続を認証するようにサービスを構成するにはどうすればよいですか?