2015-01-22 2 views
0

다른 컴퓨터에서 실행할 데이터베이스 프로그램을 작성했습니다. 데이터베이스가 서버에 있습니다. 즉, SQL Server가 192.168.11.55라는 IP 주소와 포트를 사용하는 컴퓨터에 있습니다. SQL Server의 경우 1433입니다. 액세스/로그인을 시도 할 때 다음 오류가 발생합니다.네트워크를 통해 SQL Server에 액세스 할 수 없습니다.

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

내 컴퓨터에서 연결을 시도 할 때 작동합니다.

대부분 연결에 대한 여러 가지 이유가 있습니다

class DBConnection 
{ 
    public static SqlConnection conn; 

    public static SqlConnection openconn() 
    { 
     if (conn == null) 
     { 
      conn = new SqlConnection("data source=tcp:192.168.11.55,1433;initial catalog=SMS_DB;integrated security=sspi"); 
      //I tried below code as well 
      //conn = new SqlConnection("data source=tcp:KASHIFAHMAD-PC,1433;initial catalog=SMS-AWKUM;integrated security=sspi"); 
     } 

     if (conn.State!=ConnectionState.Open) 
     { 
      conn.Open(); 
     } 
     return conn; 
    } 
} 
+0

SQL Server ** Express ** 버전입니까? 원격 연결을 사용할 수없는 경우 기본값은 –

+0

입니다. ** Express ** –

답변

1

데이터베이스 연결 클래스에게 있습니다.

컴퓨터의 방화벽이 들어오는 연결로부터 1433 포트를 차단하지 않는지 확인하십시오.

서버가 SQL Server Express 인 경우 - 원격 연결을 허용하도록 구성되어 있는지 확인하십시오 (SQL Express에서는 기본적으로 비활성화되어 있으며 로컬 연결 만 수신합니다).

예를 들어 SQL Express에서 원격 연결을 허용하는 방법은 here 또는 here을 참조하십시오.

+0

이것은 가장 가능성있는 해결책입니다. SQL Server가 네트워크 연결을 허용하도록 구성되어 있어도 기본적으로 동적 포트를 계속 사용할 수 있습니다. 명시 적으로 포트를 1433으로 설정하고 동적 포트를 비활성화해야합니다.이 대답은이 응답의 두 번째 링크에 나와 있습니다. "TCP Dynamic ports"항목을 비워 두지 않으면 포트를 1433으로 설정해도 작동하지 않습니다. 서비스를 다시 시작하는 것을 잊지 마십시오. –

0

여기에는 여러 가지 이유가 있습니다. 먼저 서버 응답을 테스트합니다.

Window + Run - >type cmd -> type ping ipaddress -t 

그런 다음 검사 응답이 오거나 시간이 초과되었습니다.

응답이있는 경우 SSMS (management sudion)을 통해 연결을 확인하십시오.

괜찮 으면 앱과 다시 연결하십시오.

여전히 문제가있는 경우 도구의 SQlserver Data connect 마법사를 사용하십시오.

연결하여 web.config에 저장하십시오.

모두 정상이면 SQL Server 데이터 연결 및 해당 항목을 web.config에서 제거하십시오.

분명히 도움이 될 것입니다.

0

서버의 SQL 구성 관리자에서 TCP/IP 이름 파이프 옵션을 활성화 했습니까?

+0

예, TCP/IP를 활성화했습니다 –

+0

방법을 모르는 사람들을 위해이 작업을 수행하는 방법을 나열 할 수 있습니까? 감사 – rolls

관련 문제