2009-10-02 2 views
0

SQL 계정 (예 : 의 연결 문자열)을 사용하여 SQL Server 데이터베이스에 연결하는 ASP.NET 응용 프로그램을 개발 중입니다. "Server = THESQLSERVER; 데이터베이스 = theDb; UID = 게스트, PWD = 게스트; ". Visual Studio의 개발 환경에서는 모든 것이 잘 작동합니다. 그러나 IIS (v5.0) 웹 서버에 응용 프로그램을 게시 할 때 다음 오류가 발생합니다.게시 된 ASP.NET 응용 프로그램에서 데이터베이스에 연결하는 이상한 문제

SQL Server에 연결하는 동안 네트워크 관련 오류나 인스턴스 관련 오류가 발생했습니다. 서버를 찾을 수 없거나 액세스 할 수 없습니다. 인스턴스 이름이 올 바르고 SQL Server가 원격 연결을 허용하도록 구성되어 있는지 확인하십시오. (공급자 : 명명 된 파이프 공급자, 오류 : 40 - SQL Server에 대한 연결을 열 수 없습니다.)

재미있는 점은 응용 프로그램이 게시 될 때 다른 서버에서 똑같이 올바르게 작동한다는 것입니다.

누구나이 동작을 설명하는 포인터 또는 링크를 제공 할 수 있습니까? 나는 주위를 둘러 보았지만 분명히 그 문제와 관련이있는 것을 발견 할 수는 없다. 이것이 거래 중지 문제가 아니기 때문에이 하나에 자신을 죽이지 마십시오. 나는 단지 호기심이 많다. 감사합니다. . David

답변

2

우리가 많이 보지 않는 쓸모없는 오류 근처에 그 중 하나가 있습니다.

가장 쉬운 옵션은 SQL Server가 실제로 원격 연결을 허용하는지 확인하는 것입니다. 두 번째 사이트가 배포 된 PC에서 Management Studio로 연결을 시도하십시오. 몇 명의 사용자도 사용해보십시오. 그렇게 할 때 config에서 서버 이름을 사용하고 IP 주소를 사용해보십시오.

+0

아마 내가 사이트가 현재 내 dev 컴퓨터에서 호스팅되고 있다는 것을 분명히하지 않았습니다. 그래서 연결은 Visual Studio 내 박스에서 디버깅 할 때 작동하지만 dev 컴퓨터 IIS 웹 사이트에 게시 할 때 실패합니다. 예상대로 Management Studio에서 제대로 연결됩니다. IIS가 실행중인 NT 계정과 관련이 있습니까? 그게 내가 지금 생각할 수있는 전부 야. David – user120381

+0

실제로 IIS에 게시하면 다른 사용자의 컨텍스트에서 사이트가 실행됩니다. IIS 및 디렉터리 보안 아래에서 익명 사용자 허용을 해제하고 통합 보안을 확인하십시오. 또는 익명 사용자 이름과 암호를 SQL Server에 연결할 수있는 권한이있는 사용자로 변경하십시오. 마지막으로 익명 사용자 계정에 SQL Server 연결 권한을 부여 할 수 있습니다. – Robert

관련 문제