작성
·
1.1K
·
수정됨
0
Microsoft.Data.SqlClient.SqlException (0x80131904): A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - 신뢰되지 않은 기관에서 인증서 체인을 발급했습니다.)
---> System.ComponentModel.Win32Exception (0x80090325): 신뢰되지 않은 기관에서 인증서 체인을 발급했습니다.
이런 에러가 발생하는데 원인을 알수있을까요 ?
구글링으로 찾아보고 TrustServerCertificate=True을 추가하라는 말이 있어서 추가하면 열, 매개 변수 또는 변수 #13: 데이터 형식 datetimeoffset을(를) 찾을 수 없습니다.
이렇게 나옵니다.
강사님이 설치하셨던 2019가 아니고 2012버전을 사용하고있고, 회사에서 사용하는 pc라 포트를 51433으로 변경했습니다.
답변 1
0
보통 비주얼 스튜디오로 개발을 할 때 인증서 문제가 생기는 경우는 2가지가 있습니다.
HTTPS 개발을 위한 프로젝트 SSL 인증서 문제
ASP.NET 프로젝트와 MS SQL 간의 SSL 인증서 연결 문제
보내주신 사진으로 보았을 때는 2번에 해당 되는 사항인 것 같습니다. 1번과 2번 모두다 프로젝트는 그대로 둔 상태에서 닷넷을 업그레이드 하거나 비주얼 스튜디오 또는 mssql을 업데이트 할 때 생기는 것으로 알고 있습니다. 포트도 가능성이 있습니다.
기존에 있던 로컬 인증서를 삭제하고 다시 재발급을 받는 과정이 필요할 것으로 생각됩니다. 해당 과정은
여기를 참고해 주세요.
*trustcertificationtrue 는 아마 임시방편일 것으로 생각됩니다. 어렵지만 로컬에 있는 인증서를 재등록하는 것이 근본적인 해결책일 것 같고 비주얼 스튜디오에서 연결 확인이 어렵다면 ssms 에서 확인해 보셔도 됩니다. mssql 서버 매니지먼트 스튜디오를 설치해주시고 연결 -> 옵션 -> 연결 속성에서 해당 부분을 체크하고 연결 시도해 보세요. 이 부분이 trustcertificationtrue 와 동일합니다.
그리고... datetimeoffset의 경우는 인증서 문제랑은 전혀 별개의 것으로 생각됩니다. 자세한 내용은 코드를 확인해 봐야 알겠지만 해당 코드는 꽤 이전 .NET 부터 지원했던 것이라 버전 문제는 아닐 것 같습니다. .NET core 1 때부터 지원을 했었군요!
오타나 대소문자 구별, 잘못된 선언 등을 확인해 보셔야 할 것 같습니다.