2012-05-06 3 views
0

스택 오버플로와 MSDN에서 이와 같은 다른 질문을 읽었지만이 문제에 대한 답을 찾을 수 없습니다.IIS가 SQL Server 2008R2에 연결할 수 없습니다.

My dev machine is VS2010SP1 and IIS7. IIS7은 .Net 프레임 워크 이후에 설치되었으므로 웹 사이트를 수동으로 구성해야했습니다. Casinni를 사용하는 대신 로컬로 IIS에 응용 프로그램을 배포하고 있습니다.

환경 :

  • Win7에 64 비트 (dev에 기계)
  • 가 Win7에 64 비트에서 실행되는 IIS (dev에 기계) Win2008에서 실행
  • SQL 서버 2008
  • (서버)
에 비주얼 스튜디오 2010

Visual Studio의 웹 사이트 옵션에서 IIS를 선택하고 가상 디렉터리 만들기를 클릭하면 작동합니다 (예 : 디렉터리가 성공적으로 만들어 짐). 그때 내가 말하는 SQL 연결 오류 응용 프로그램을 실행할 때

는하지만 : 가 SQL Server에 coneection을 설정하는 동안

은 네트워크 관련 또는 인스턴스 관련 오류가 발생했습니다. 서버를 찾을 수 없거나 에 액세스 할 수 없습니다. 인스턴스 이름이 정확하고 SQL Server가 원격 연결을 허용하도록 구성되어 있는지 확인하십시오.

SQL 서버는 원격 연결을 허용하도록 구성되어 있고 나는 현재 sa 계정과 동일한 자격 증명을 (사용 Management Studio에서 SQL Server에 dev에 컴퓨터에서 연결할 수 그래 내가 그 나쁜 나중에 변경 될 것입니다 알고 이것은 개발자 전용입니다).

LocalSqlServer 파일을 으로 변경하여 서버를 가리 키도록 시도했지만 서버가 원격이고 로컬이 아니더라도 지원하지 않았습니다. web.config에서

<remove name="LocalSqlServer" /> 
<add name="LocalSqlServer" 
    connectionString="Data Source=esdc01;Initial Catalog=ECS;Persist Security Info=True;User ID=sa;Password=******;MultipleActiveResultSets=True;Network Library=dbnmpntw;" 
    providerName="System.Data.SqlClient" /> 

연결 문자열이 올바른지 :

나는 또한 Web.config의이를 추가했습니다.

VS2010에서 웹 사이트의 속성으로 이동하여 다시 "Use Visual Studio Development Server"로 변경하면 응용 프로그램이 제대로 작동하고 SQL Server에 연결됩니다.

IIS를 사용할 때 machine.configmachine.config에 액세스하는 것으로 보이는데 ... IIS에서 연결 문자열을 찾고있는 곳이 어디입니까? 나는 당황했다!

서버에서 명명 된 파이프와 TCP/IP가 모두 사용됩니다.

+0

FYI 서버 이름 인 esdc01을 서버 IP 주소로 바꾸어도 여전히 작동하지 않습니다. – rmcsharry

답변

0

서버에서 Named Pipes 및 TCP/IP를 사용할 수 있다고 말했습니까?

"Network Library = dbnmpntw"요소를 제거하십시오. 그래도 작동하지 않으면 "Network Library = dbmssocn"으로 변경하고 TCP/IP를 사용하여 연결되는지 확인하십시오.

+0

고마워, 나는 둘 다 시도하고 둘 다 시도하지 않았다. 그들은 또한 단지 Casinni와 작동하지 않는 dbnmpntw 설정을 사용하는 반면 Casinni dev server와 IIS를 사용하는 경우에도 작동하지 않습니다. – rmcsharry

관련 문제