MSSQL 오류 &39;기본 공급자가 Open에서 실패했습니다;

데이터베이스entityClient에 연결하기 위해.mdf를 사용하고 있었습니다. 이제 연결 문자열을 변경하여.mdf` 파일이 없도록 하고 싶습니다.

다음 connectionString이 올바른가요?

<connectionStrings>
   <!--<add name="conString" connectionString="metadata=res://*/conString.csdl|res://*/conString.ssdl|res://*/conString.msl;provider=System.Data.SqlClient;provider connection string="Data Source=.\SQL2008;AttachDbFilename=|DataDirectory|\NData.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />-->
   <add name="conString" connectionString="metadata=res://*/conString.csdl|res://*/conString.ssdl|res://*/conString.msl;provider=System.Data.SqlClient;provider connection string="Data Source=.\SQL2008;Initial Catalog=NData;Integrated Security=True;Connect Timeout=30;User Instance=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />

항상 오류가 발생하기 때문입니다:

기본 공급자가 Open에서 실패했습니다.

질문에 대한 의견 (6)
해결책

이 오류가 발생하여 몇 가지 해결책을 찾았습니다:

연결 문자열을 보면 유효해 보입니다. 이 블로그 게시물]1을 찾았는데, 여기서 문제는 통합 보안을 사용하고 있다는 것입니다. IIS에서 실행하는 경우 IIS 사용자에게 데이터베이스에 대한 액세스 권한이 필요합니다.

트랜잭션과 함께 엔티티 프레임워크를 사용하는 경우4, 엔티티 프레임워크는 각 데이터베이스 호출에 대해 자동으로 연결을 열고 닫습니다. 따라서 트랜잭션을 사용하는 경우 트랜잭션을 여러 연결에 분산하려고 시도하게 됩니다. 이것은 MSDTC로 올라갑니다.

(자세한 내용은 이 참조를 참조하십시오.)

내 코드를 다음과 같이 변경하여 문제를 해결했습니다:

using (DatabaseEntities context = new DatabaseEntities())
{
    context.Connection.Open();
    // the rest
}
해설 (7)

컨텍스트.연결.열기()`가 문제 해결에 도움이 되지 않아 DTC 구성에서 '원격 클라이언트 허용'을 활성화해 보았더니 더 이상 오류가 발생하지 않았습니다.

Windows 7에서는 구성 요소 서비스 - 컴퓨터 - 내 컴퓨터 - 분산 트랜잭션 코디네이터 - 로컬 DTC - 보안을 마우스 오른쪽 버튼으로 클릭한 후 dcomcnfg를 실행하여 DTC 구성을 열 수 있습니다.

해설 (2)
    • 네렉세페시옹 대해 알아보기 위해 던지는 불법 안쪽 원인 중 하나로 볼 수 있습니다. 오류:.

원래 오류, 저의 경우는 없었다. , 물리적 파일 &quot D:\Projects2\xCU\xCU\App_Data\xCUData_log.ldf&quot &gt 열 수 없습니다. 운영 시스템 오류 5: &quot "; 5 (Access 거부됩니다.). 데이터베이스 파일에 대한 시도가 자동으로 이름이 지정된 첨부하려면 D:\Projects2\xCU\xCU\App_Data\xCUData.mdf 못했습니다. 같은 이름의 데이터베이스, 또는 지정된 파일을 열 수 없습니다, 또는 공유하지는 UNC 위치해 있다.

현재 전체 해결할 수 있는 권한을 부여하는 '사용자' 와 '두프 를 사용하여 파일' 관련 액세스을 대해 mdf files& # 39. 즉, 다음과 같다.

해설 (0)

이 변형 중 하나에서 연결 문자열 내에 서버 경로가 있다는 문제를 발견했습니다:

SERVER\SQLEXPRESS
SERVER

정말 그랬어야 했는데요:

.\SQLEXPRESS

어떤 이유에서인지 SQL 인스턴스를 찾는 데 어려움을 겪을 때마다 오류가 발생했습니다.

해설 (3)

이것은 일반적인 실행하십시오. 뿐입니다. 나는 이 문제를 안고 있다. Windows 인증 시스템을 완벽하게 협력했습니다 연구개발을 구성된 있다.

Iis 를 통해 호스팅된 한 번 같은 구성, 내가 맡을게 오류:

&gt. 기본 공급자입니다 공개을 못했습니다.

'해결' 코너스티언스트링 전송되었기 변경됩니까 구성 파일:

다른 일반적인 실수 할 수 있다.

  1. 데이터베이스 서비스가 중단될 수도 있다고
  2. Iis 에서 Windows 인증을 사용하여 로컬 데이터베이스 속성 및 호스팅된 가리키는 데이터 소스
  3. 사용자 이름과 암호를 잘못 될 수 있다.
해설 (1)

이 idfsysobject. 받을 때 보면 자세한 정보 및 확장하십시오 합니다 않을 뿐만 아니라 내부 idfsysobject. detaiils 대한 자세한 내용은 왜 로그인 실패. 내 경우 사용자가 데이터베이스 연결 문자열을 v2.03-00 않은 내 액세스하려면.

사용 여부에 관계 없이 통합 보안 (전후 맥락을 로그인됨 Windows 사용자) 또는 개별 액세스하면 & # 39 에서 사용자가 올바른 SQL 계정붅 있는지 Security& # 39;; 를 액세스하려는 데이터베이스에 대한 것을 막기 위해 이 문제를 해결할 수 있습니다.

해설 (6)

난 이미 유사한 문제가 있는 SQL 서버 익스프레스 에디션Windows Server 2003년. 내가 그냥 추가했어야 네트워크 서비스로 사용자 데이터베이스 보안.

해설 (1)

Sql 서버 익스프레스 서비스 자동으로 토스테르 설정되지 않았습니다.

  1. gnu. orghttp://www. 제어판용
  2. 관리 도구
  3. 서비스
  4. SQL 서버 익스프레스 설정되었습니다 자동으로 시작하도록 클릭하여
  5. 오른쪽 클릭 및 서비스 시작

도움이 될 수 있기를 바란다.

해설 (0)

이는 또한 리스토어하는 경우 일어날 수 있는 데이터베이스 및 사용자 이미 다른 스키마에는 놔두고 올바른 권한을 할당할 수 없습니다.

이 문제를 해결하기 위해 실행하십시오:

USE your_database
EXEC sp_change_users_login 'Auto_Fix', 'user', NULL, 'cf'
GO
EXEC sp_change_users_login 'update_one', 'user', 'user'
GO
해설 (1)

내가 여기 SQL db 에 호스팅되어 유사한 문제가 게시하기를 협력하여 2012년 Amazon RDS. I was in the 연결 문자열을 문제, , Name&quot 인도하심이라만일 &quot, 애플리케이션 및 &quot App&quot 저기예요 있는 것으로 보인다. 그 후, 내가 재거됨 통했다.

https://stackoverflow.com/questions/16096786/entity-framework-5-and-amazon-rds-the-underlying-provider-failed-on-open = 1 # comment23033375_16096786 노르드리치?

해설 (0)

각 요소는 연결 문자열을 값으로 공급되고 올바른지 확인하십시오. 내 경우 동일한 오류 때문에 받고 있었는데, 카탈로그 (데이터베이스 이름) 에 지정된 이름을 연결 문자열을 잘못되었습니다.

해설 (0)

내가 가진 걸 이제 거의 비슷한 문제로 인해 예외 연결 상태, 그리고 내 도메인 서비스 (실수로) 으로 정적 클래스 변수.

내 생각엔 에로남이네 일단 서비스가 라이브러리란 로드되었는지 각 변수 값을 메모리에 새로운 호출 motor1.1end 백업하도록 같은 정적 (도메인 서비스 인스턴스입니다), 이로 인해 통해 충돌함 연결 상태.

또한 각 클라이언트 매입옵션 초래했다는 것 같아요 새로운 도메인 서비스 인스턴스입니다 같은 여러 스래드입니다 스레드할 도왔으매 액세스하면 열차 사고가 이다.

해설 (1)

정의중 새 Windows 방화벽SQL&amp, nbsp, 서버 (및 포트 규칙, 1433년) 를 통해 해결할 수 있는 서버 컴퓨터에서 이 오류 (경우 연결 문자열을 servername, 사용자 로그인 사용자 이름과 암호를 틀렸다고 할 수는 없다.).

해설 (0)

ASP.NET 웹 응용 프로그램에서 오류가 발생할 경우 afaq afnor 협력하였습니다 외에 다른 것을 언급한 확인란 다음과 같습니다.

  1. 데이터베이스 사용자 보안 권한 (있는 데이터베이스에 액세스할 수 있습니다.
  2. 39 의 올바른 응용 프로그램 풀 IIS 에서 확인 및 smartupdate it& 방정식입니다 데이터베이스에 액세스할 수 있다.

해설 (0)

난 이미 안쪽 idfsysobject. 유사한 오류가 있다 (아래 참조).

&gt. 올바르지 않은 상태에 대한 트랜잭션 작업

이 문제를 어떻게 할 수 있게 함으로써 데츠 보안 설정.

데츠 속성을 따라 보안 탭으로 이동합니다 아래 확인합니다.

  • 네트워크 데츠 액세스만
  • 레모테크리엔테스 허용하시겠습니까
  • 트랜잭션 매니저는 통신
  • 인바운드 허용하시겠습니까
  • 아웃바운드 허용
해설 (0)

그래도 나는 attaboy 이것을 없애 재설정하도록 IIS '통합 인증' 를 사용하여 연결 문자열을.

해설 (0)

이 추가 통합 보안 = True.

또한 노력해야 합니다. 난 내 구성 및 정보기술 (it) 이 추가 작업 시작.

해설 (0)

하지만 내가 어떤 방법이 주효했는가 가져다줄래요 sanlight 연결 문자열을 제거 에서 이 같은 문제가 있었다.

'옛일에 보안 정보 = True'

해설 (0)

못한 게 일반적인 애플리케이션에서 실수로 다른 어느 누구도 숨길까요 있었기 때문에 한 번 복사할 수 있는 pc 는 모두 잊었다 위의 협력했습니다 연결 문자열을 대퍼콘피그 및 웹스콘피그!

해설 (0)

나는 이 문제에 대해서도 같은 문제를 해결할 수 있습니다. Now I have done it 를 제거하여 사용자 이름과 암호를 연결 문자열을.

해설 (0)