C# 응용 프로그램 내에서 DB 연결을 열려고 할 때 다음 오류가 표시됩니다. 나는이 오류가 이전에 100 가지 질문에 나타 났음을 알았습니다. 그러나이 시나리오에서는 오류가 C# apps특정 데스크톱 PC에서 실행 중일뿐입니다. 나는 Google과이 웹 사이트를 통해 인터넷을 샅샅이 뒤졌지만 해결책을 찾지 못했습니다.명명 된 파이프에 SqlConnection이 붙어 있습니다.
ERROR :
"SQL 서버에 연결하는 동안 네트워크 관련 또는 인스턴스 관련 오류가 발생한 서버를 찾을 수 없거나 액세스 할 수 없습니다 된 인스턴스 이름이 올바른지 확인하고 SQL 서버.. 원격 연결을 허용하도록 구성되어 있습니다. -이 시나리오는 UNIQUE 이유 "
(공급자 : 명명 된 파이프 공급자, 오류 (40)는 SQL Server에 대한 연결을 열 수 없습니다) :
나는 SQL에 연결할 수 있어요서버 SQL Server Management Studio (SSMS) 이 응용 프로그램 은 다른 컴퓨터에서 작동하며 거기에서 SQL 서버에 연결할 수 있습니다. 따라서이 오류 시나리오는 특정 데스크톱 PC에서 실행되는 C# 응용 프로그램에만 적용됩니다. 다른 앱이 작동합니다 (SSMS). 다른 PC의 작업.
WireShark를 사용하여 "전선을 감지"할 때 내 응용 프로그램이 NamedPipes (예 : \ Server \ IPC $)를 통해 연결하려고한다는 것을 나타냅니다. TCP/IP를 사용하도록 강제 할 수는 없습니다. 내가 해봤
사항 :
- Re-installed.NET 프레임 워크
- 다시 설치 비주얼 스튜디오 (C 번호 - 익스프레스 버전 2010)
- cliconfg.exe를 내 별명을 만들었습니다.
내가 놓친 것이 있습니까? 여기
여기Data Source=<servername>;Initial Catalog=HIE;Integrated Security=true
Server=tcp:10.240.11.81;Integrated Security=SSPI; database=HIE
Data Source=10.240.11.81,1433;Network Library=DBMSSOCN;Initial Catalog=HIE;User ID=<SqlUserIdThatISetUpAsSysAdmin>;Password=<password>
는 코드의 ... 내가 해봤 연결 문자열은 다음과 같습니다
_conn = new SqlConnection(); // _conn declared globally
_conn.ConnectionString = <the connection string above>;
_conn.Open();
'데이터 소스'에 대해서도 'tcp :'를 넣으십시오. C# 소스 코드에 연결 문자열을 하드 코딩합니다. wireshark 디버깅은 tcp를 사용하지 않는다는 것을 보여주기 때문에 매우 좋았습니다. – usr
빠른 답장을 보내 주셔서 감사합니다. 남자 .. 너희들은 빠르다! "데이터 원본 = TCP :; 초기 카탈로그 = HIE; 통합 보안 = True"및 "데이터 원본 = TCP : 10.240.11.81; 초기 카탈로그 = HIE, 통합 보안 = True"및 새 메시지 받기 : (공급자 : TCP 공급자, 오류 : 0 - 데이터베이스 조회 중에 복구 할 수없는 오류가 발생했습니다.) (공급자 : TCP 공급자, 오류 : 0 - 잘못된 인수가 제공되었습니다.) Google은 이러한 오류 메시지에 대해 아무 것도주지 않았습니다. "HIE"데이터베이스는 서버에 존재합니다. –
그건 미친 짓이야. 오류는 Google에 따르면 매우 이상한 조건을 나타냅니다. 해당 IP 및 포트 1433을 사용하여 SQL Server에 텔넷을 연결할 수 있습니까? 앱이 관리자로 실행되고 있습니까? UAC를 끄거나 승진하십시오. Wireshark를 다시 실행하십시오. 그게 뭐야? – usr