코드가있는 엔티티 프레임 워크 먼저 원격 데이터베이스에 대한 첫 번째 연결 문자열

StackOverflow https://stackoverflow.com/questions/19852836

문제

로컬 컴퓨터 (ASP.NET MVC 4 응용 프로그램)에서 작업 중이지만 이제 회사의 SQL 서버를 사용하여 해당 원격 서버에 연결하려면 연결 문자열을 변경해야합니다.

설정은 이것입니다.

  • IP 주소를 사용하는 VPN 연결이 있습니다. 정확한 IP를 표시 할 수 없습니다.
  • VPN에 연결하려면 사용자 이름과 비밀번호가 있습니다 -VPNUSERNAME/VPNPASSWORD
  • 내가 사용할 때 Microsoft SQL Server Management Studio 원격 서버에 연결하려면 VPN -xxx.xxx.xxx.xxx에 연결하는 데 사용하는 것과 동일한 IP를 사용합니다.
  • SQL Server의 사용자 이름과 비밀번호가 다릅니다 -SqluserName/SQLPassword

내 PC의 서버에 연결하는 데 사용하는 기존 연결 문자열이 있으므로 다음과 같은 매개 변수를 변경하기에 충분할 것이라고 생각했습니다.

<add name="ProjectName.DAL.MyDbContext"
     providerName="System.Data.SqlClient"
     connectionString="Data Source=xxx.xxx.xxx.xxx;
     Initial Catalog=DatabaseName;Integrated Security=True;         
     MultipleActiveResultSets=True;
     user id=SQLUsername;password=SQLPassword;App=EntityFramework" />

따라서 작동하고 로컬 서버에 연결하는 연결 문자열의 변경 사항은 두 가지입니다.

  1. Data Source= xxx.xxx.xxx.xxx - IP를 사용하고 있습니다. 여기서 IP 자체가 질질이 있는지 궁금합니다. 내가 사용해야할까요 http://xxx.xxx.xxx.xxx 아니면 그냥 IP가 괜찮습니까?
  2. user id=SQLUsername;pasword=SQLPassword - 나는 Management studio 내가 xxx.xxx.xxx.xxx 서버 이름으로 및 sqlusername/sqlpassword 사용 SQL Server Authentincation.

따라서 명확하게 - 관리 스튜디오에서는 원격 서버에 연결하는 데 아무런 문제가 없습니다. 그러나 연결 문자열을 내에서 위에 게시 한 내용으로 변경하면 HomeController 데이터베이스에 대한 호출이 실행되었는지 확인하기 위해 매우 간단한 논리가있는 경우 :

private MyDbContext db = new MyDbContext();

        //
        // GET: /Home/

        public ActionResult Index()
        {
            return View(db.Users.ToList());
        }

나는 3 가지 예외를 얻는다 :

  1. sqlexection (0x80131904) : 사용자 'vpnusername'에 로그인이 실패했습니다.
  2. ProssinCompatibleException : 공급자는 제공자 ManifestToken 문자열을 반환하지 않았습니다.
  3. PrudideIncomPatibleException : 데이터베이스에서 제공자 정보를 얻는 동안 오류가 발생했습니다. 이는 잘못된 연결 문자열을 사용하여 엔티티 프레임 워크로 인해 발생할 수 있습니다.

그래서 내 의견과 숫자 3 예외는 문제가 내가 연결 문자열을 사용하는 방식에 있다는 것을 알 수 있듯이 나에게도 관심이있는 것은 Number 1 예외는 로그인이 실패했지만 내 sqlusername은 아니지만 vpnusername에 대해서는 실패했다는 예외입니다. 내가 말했듯이 - 실제로 VPN 연결을 사용하고 있으며 동일한 IP를 사용합니다. xxx.xxx.xxx.xxx VPN과 SQL Server (Management Studio)에 연결합니다.

이것을 해결하는 방법이 있습니까?

도움이 되었습니까?

해결책

제거하다 Integrated Security=True SQL Server 사용자 이름/비밀번호로 연결하려고 할 때 연결 문자열에서

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top