2011-10-18 5 views
4

본 사이트가 2010 년 7 월 온라인 상태가되어 동일한 데이터베이스 연결 및 상호 작용에 아무런 문제가 없었으므로 동일한 ConnectionString을 사용하고 있습니다.
그러나 2011 년 7 월부터 계속 "ConnectionString 속성이 초기화되지 않았습니다."오류가 계속 발생합니다.임의의 오류 500 "ConnectionString 속성이 초기화되지 않았습니다."

  • 버그는 어떻게 발생합니까?

(오늘 더 몇 시간이라고 지적하지만, 몇 주에 몇 시간에서) 우리의 사이트가 데이터베이스 작업 벌금 쿼리를 의미하는 변수 기간 동안 잘 실행, 사람들이 로그인 할 수 있습니다 그리고 나서, 어떤 시점에서 connectionString 오류가 발생합니다.
이 순간부터 사이트에 액세스 할 수 없게되고 액세스하려고 시도한 페이지에 대해이 오류가 계속 표시됩니다.
가끔씩 10-15 백만 건이 지나면 Google 사이트가 다시 온라인 상태가되어 오류가 다시 팝업 될 때까지 정상적으로 실행됩니다. 그러나 대부분의 시간, 나는 다시 작동하도록 3 개 다음 방법 중 하나를 사용해야합니다 :

1) 저장 웹 구성 파일을 다시 IIS
에 사이트를 추가/변경 중지 아무것도
2) 및 시작하지 않고 3) 서버 재부팅

개발 서버 역시 서버에 있습니다. 그러나 결코 날이 임의의 오류 던져 버렸어. 우리의 개발 현장과 생산 현장의 유일한 차이는

  • 우리의 서버에서 가입일 July 2010 무엇을 변경 (생산 = 윈도우, 개발 = 형태) 웹 구성에서 다른 데이터베이스, SQL 사용자와위한 인증 모드입니까?

.NET 프레임 워크는 2011 년 3 월
실제 디렉터리는 기본적으로 2011년 6월 (이후 동일 서버의 다른 파티션에 원래의 IIS 디렉토리에서 이동 된 사이트 단지 컷에 4 3.5에서 업그레이드 된/사이트 디렉터리의 붙여 넣기 및 IIS의 응용 프로그램 실제 경로 변경).
Windows Server 2008 업데이트는 때마다 적용됩니다.

  • 이 문제를 해결하기 위해 무엇을 시도 했습니까?

1) 우선 사이트 디렉토리를 IIS inetpub/wwwroot에 다시 넣으려고했습니다. 아무것도 바뀌지 않았습니다.
2) 개발 사이트에서와 마찬가지로 프로덕션 사이트에 동일한 디렉터리 사용 권한을 설정하려고했습니다. 아직 아무것도.
3) 두 개의 응용 프로그램 풀 개발/생산을 비교했지만 차이는 없습니다.
4) 그리고 물론, 나는 많은 사이트에서 누군가가이 문제를 겪어 본 적이 있는지 찾아 보았습니다. 내 문제와 관련된 가장 중요한 주제는 다음과 같습니다.
Web.config - ConnectionString property has not been initialized
그러나 "웹 루트 폴더에 무작위로 적용된 사용 권한"을 확인할 수있는 방법을 모르겠습니다.홈 페이지에

  • 스택 추적 오류가 발생했을 : 그것은이 튀어 나올 때 오류가 모든 페이지에 관한 때문에
at System.Data.SqlClient.SqlConnection.PermissionDemand() 
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) 
at System.Data.SqlClient.SqlConnection.Open() 
at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) 
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) 
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet) 
at Database.listeCategories(enuTypeCategorie typeCategorie, enuOrdre ordre, enuActif actif, Boolean withFirstRow, Boolean libTous) 
at user_controls_criteresAnnonce.set_secteur(Int32 value) 
at user_controls_criteresAnnonce.initValues() 
at _default.Page_Load(Object sender, EventArgs a) 
at System.Web.UI.Control.LoadRecursive() 
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 

, 소스는 항상 다르다.

  • 시스템 정보 :

사이트 (개발 및 생산) IIS와 윈도우 서버 2008 SP2에서 실행되는 7
데이터베이스는 2005 년
.NET 프레임 워크는 SQL 서버에서 실행 4 (서버 관리자에서 작성된 ASP 버전 : ASP.NET 4.0.30319.0).

<connectionStrings> 
    <add name="BosstobossDbBase" connectionString="Server=server_ip; Database=database_name; User=login; password=pass" providerName="System.Data.SqlClient"/> 
</connectionStrings> 

하고 데이터베이스 연결을 시도하기 전에, ConnectionString을이 (CONN이 클래스에서 선언)이 같은 SqlConnection 개체에 영향을받습니다 :

를 ConnectionString은 다음과 같은 패턴으로 웹 구성 파일에 저장됩니다

추가 정보가 필요하면 언제든지 문의하십시오. 나는 이것으로 잃어 버렸습니다 ... 어떤 도움이라도 기꺼이 받아 들여질 것입니다.
감사합니다.

안부,
케빈

+0

ConfigurationManager.ConnectionStrings ("BosstobossDbBase")에 대한 호출이 있습니까? ConnectionString이 코드 전체에 흩어져 있습니까? 아니면 캡슐에 넣었습니까? – Aheho

+0

FYI web.config 파일을 저장하면 응용 프로그램 풀이 재생 중입니다. 메모리 용량 문제가 있습니까? –

답변

0

나는이에 web.config 파일을 변경하고 도움이되는지 볼 것 :

<connectionStrings> 
    <remove name="BosstobossDbBase" /> 
    <add name="BosstobossDbBase" connectionString="Server=server_ip; Database=database_name;User=login; password=pass" providerName="System.Data.SqlClient"/> 
</connectionStrings> 
+0

감사합니다. 문제가 여전히 지속되면이 문제를 해결하고 다시 생각해 보겠습니다. – Kevin

+0

나중에 connectionString 오류가 밤에도 일어났습니다 (사이트가 몇 시간 동안 작동 한 후 내 게시물에 설명 된 3 가지 방법 중 하나를 수행 할 때까지 액세스 할 수 없게되었습니다). – Kevin

0

나는 오랫동안이 같은 문제에 직면했다. ASP.Net v2.0에서 정상적으로 작동하고 있던 응용 프로그램을 가지고 있었는데 어느 날 갑자기이 오류가 발생하기 시작했습니다.

열기 inetmgr을하고 주 서버를 클릭 :

나는 다음과 같은 방법으로 해결. 기능보기에서 연결 문자열을 클릭하십시오. 필자의 경우 모든 응용 프로그램에 의해 상속 된 두 개의 연결 문자열이 있습니다. 문자열 중 하나가 잘못 되었음이 밝혀졌으며 삭제하면 모든 것이 정상으로 돌아 왔습니다.

해당 컴퓨터의 사용자 중 한 명이이 문자열을 추가하여 모든 응용 프로그램을 손상 시켰습니다.

희망이 도움이됩니다.

관련 문제