2017-03-08 3 views
1

ASP.NET 핵심 응용 프로그램 용 SQL Server 2016 Express 인스턴스를 설치하려고했습니다. 내 로컬 개발 컴퓨터에서 dev 버전으로 데이터베이스에 연결할 수 있지만 SQL Server 인스턴스를 호스트하는 서버에 게시 된 버전이 아닌 데이터베이스에 연결할 수 있습니다.로컬 서버에서 데이터베이스에 액세스 할 수는 없지만 원격 서버에서 액세스 할 수 있습니다.

로컬 dev 버전을 "dev server"라고하고 원격 게시 버전을 "real server"라고합니다. 내가 실제 서버 I에서 연결하려고하면 두 서버 내 appSettings.json

Data Source=10.50.70.50;Integrated Security=False;User ID=voetbal;Password=*******;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False 

을에서 다음 ConnectionString을 사용하여 SQL 서버에 문제없이 연결 dev에 서버에서 동일한 SQL Server 인스턴스

에 액세스 IP와 함께 오류

SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 52 - Unable to locate a Local Database Runtime installation. Verify that SQL Server Express is properly installed and that the Local Database Runtime feature is enabled.) On the remote machine I've tried the following connectionStrings in both appsettings.json and as an environment variable:

를 얻을 :

Data Source=10.50.70.50;Integrated Security=False;User ID=voetbal;Password=*****;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False 
Data Source=localhost;Integrated Security=False;User ID=voetbal;Password=*****;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False 

로컬 컴퓨터 이름 :

Data Source=(localdb)\\MSSQLLOCALDB;Integrated Security=False;User ID=voetbal;Password=*****;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False 
: localdb으로

Data Source=WIN-DMM50393I9A\MSSQLLOCALDB;Integrated Security=False;User ID=voetbal;Password=*****;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False 

: 로컬 컴퓨터 이름 및 SQL 인스턴스 이름으로

Data Source=WIN-DMM50393I9A;Integrated Security=False;User ID=voetbal;Password=*****;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False 

대신 IP의 로컬 호스트로

나는 생각했다. aybe "데이터 원본"대신 "서버"여야합니다. 그래서 그 대체물을 사용하여 다시 시도해 보았습니다. 여전히 같은 오류.

그래서 연결 문자열은 여기에서 문제가되지 않습니다. 인터넷에서 오류를 검색 할 때마다 SQL Server Express 인스턴스가 아닌 실제 LocalDB 인스턴스에 연결하려는 사람들에 대한 게시물 만 찾습니다. 내 응용 프로그램이 실제로 LocalDB 인스턴스에 연결하려고한다면 내 dev 서버가 데이터베이스와 함께 작동하는 이유는 무엇입니까?

이 문제를 해결하기 위해 내가 뭘 할 수 있는지 알 수 없습니다. 어떤 아이디어?

답변

1

appsettings.Development.json 및 appsettings.json과 관련하여 DEV 및 Production 환경 모두에 대해 ConnectionString이 정의되어 있습니까? 난 단지 appsettings.json을 사용하고 테스트하기 위해

string conectionString = Configuration.GetConnectionString("DefaultConnection"); 
+0

, 그것은 –

+0

다시 한 번 설명해주십시오 환경 특정 appsettings.json 파일에 의해 오버라이드 (override)되어 있지 않은 경우 :

당신은 서버에 연결 문자열 값을 로그온을 시도 할 수 . 로컬 컴퓨터에서 "서버"에서 호스팅되는 SQL 인스턴스에 연결할 때 문제가 발생합니까? –

+0

로컬 개발 컴퓨터와 서버 컴퓨터가 있습니다. 서버 컴퓨터에는 SQL Server Express가 있습니다. 내 로컬 개발 컴퓨터에서 내 asp.net 응용 프로그램을 실행할 때 응용 프로그램은 SQL Server에 연결할 수 있습니다. 서버 컴퓨터에서 응용 프로그램을 실행할 때 응용 프로그램을 SQL Server에 연결할 수 없습니다. –

관련 문제