2011-10-08 2 views
0

ASP.Net 프로젝트에서 Entity Framework를 사용하고 있습니다. 그것은 개발 서버에서 잘 작동합니다. 그러나 IIS 7에서는 예외가 발생합니다. SQL Server 2008 Enterprise를 백엔드로 사용하고 있습니다. IIS 7 및 Entity Framework 연결 문자열

Entity Framework Connection String in the web.config follows 
<connectionStrings> 
<add name="NorthwindEntities" connectionString="metadata=res://*/App_Code.Model.csdl|res://*/App_Code.Model.ssdl|res://*/App_Code.Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=GIRI-PC\GIRISQL2008;Initial Catalog=Northwind;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" /> 
    </connectionStrings> 

나는 IIS 7에서 얻을 오류는 다음과 같습니다

 System.Data.EntityException: The underlying provider failed on Open. ---> System.Data.SqlClient.SqlException: Login failed for user 'IIS APPPOOL\DefaultAppPool'. 
    at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) 
    at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() 
    at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) 
    at System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) 
    at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, SqlConnection owningObject) 
    at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, TimeoutTimer timeout) 
    at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, TimeoutTimer timeout, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) 
    at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) 
    at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) 
    at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) 
    at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) 
    at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) 
    at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) 
    at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) 
    at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) 
    at System.Data.SqlClient.SqlConnection.Open() 
    at System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean& closeStoreConnectionOnFailure) 
    --- End of inner exception stack trace --- 
    at System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean& closeStoreConnectionOnFailure) 
    at System.Data.EntityClient.EntityConnection.Open() 
    at _Default.btn_submit_Click(Object sender, EventArgs e) 

이 문제에 대해 어떤 생각을 가지고 있습니까?

답변

0

특정 문제는 Login failed for user 'IIS APPPOOL\DefaultAppPool입니다. 당신도 제대로 구성해야 할 것 같은데. 데이터베이스에 액세스 할 수있는 계정을 사용하거나 데이터베이스에 액세스 할 수있는 계정으로 새 응용 프로그램 풀을 만들거나 DefaultAppPool ID가 데이터베이스에 액세스 할 수있게하려면 응용 프로그램 풀을 사용하십시오.

웹 사이트가 액세스하려고하는 데이터베이스 서버는 GIRI-PC\GIRISQL2008입니다. 그것이 틀린 경우에 당신은 필요로 할 것이다; web.config을 올바른 Sql Server (및 인스턴스)를 가리 키도록 업데이트하거나 web.config 변형 (선호)을 만들어 개발 설정 및 배포 설정 (dev, test, stage, prod)을 분리 된 상태로 유지하십시오.

1

더 명확하게 : SQL Server 클라이언트는 지정된 SQL Server 인스턴스 ("GIRI-PC \ GIRISQL2008")와 연락 할 수 있습니다.

이 될 수있다 : 공통 프로토콜의

  • 부족이
  • 서버 인스턴스가 네트워크 포트에 연결이
  • 을 사용 듣고되지
  • IP에 대해 다른 TCP 포트를 지정해야합니다 호스트 이름을 확인할 수 없거나 잘못되었습니다.
  • 인스턴스 이름이 잘못되었습니다.
관련 문제