본문 바로가기
to be 개발자

c# .net 닷넷 프로그램 솔루션 프로젝트 서비스 기본적인 오류 종류 해결방법 - SQL. Null Exception.

by 아셀acell 2023. 12. 15.
반응형



2년 동안 닷넷 프로젝트를 하면서 겪은 오류들은 대부분 반복적인 거였다.

완전 똑같이 반복적인 것은 아니어도 로그를 보고 콘솔이나 네트워크에서 오류 메세지를 확인해보면 비슷한 이유로 나는 오류가 많았다.

그래서 프로그램이 잘 안돌아가거나 오류가 나면 일단 아래 부분을 꼭 확인해보면 좋다.



  1. 로그를 어디 저장하는지 확인하고 방식에 따라 로그 파일이나 DB에 저장된 로그를 본다. (프로젝트 별 config 파일이나 log4net.xml 파일에서 로그 저장되는 주소 확인 가능)
  2. 크롬을 쓰면 F12를 눌러 개발자도구를 켜서 Console 창을 확인한다.
  3. 마찬가지로 크롬 개발자도구에서 네트워크에 들어가 빨간 부분이나 오류 날법한 네트워크 눌러서 우측에 뜨는 헤더 파라미터 등을 확인한다.


이런 방식으로 오류를 확인하다보면 몇가지 반복되는 경우가 있다. 이젠 제일먼저 확인해보고 이런 이유면 오히려 안심이되는 오류들이다.


1. DB 연결


SQL Server에 연결을 설정하는 중에 네트워크 관련 또는 인스턴스 관련 오류가 발생했습니다.

서버를 찾을 수 없거나 액세스할 수 없습니다. 인스턴스 이름이 올바르고 SQL Server가 원격 연결을 허용하도록 구성되어 있는지 확인하십시오.

(provider: Named Pipes Provider, error: 40 - SQL Server에 대한 연결을 열 수 없습니다.)", "exception": { "message": "SQL Server에 연결을 설정하는 중에 네트워크 관련 또는 인스턴스 관련 오류가 발생했습니다..

이런 경우 Web.config 파일이나 ConnectionString 확인해서 DB 이름 아이디 비밀번호가 잘 들어가있나 연결이 잘 되나 확인해보면 되는 오류다.



2. Null Exception


개체가 참조되지 않습니다.

이런 경우 로그에 찍혀있는 위치에 있는 어떤 특정 요소가 값이 null 인데 length 를 읽으려고 한다거나 그 안에서 어떤 다른 요소를 찾아오려고 한다거나 하는 경우다.

이럴 때는 그 요소가 null 이 아닐 경우에만 이 로직을 타도록 if(this != null && this != undefined) 와 같은 조건문을 추가해주는 것이 좋다.




3. 파일 없음


서비스 오픈 위한 json 파일을 찾을 수 없습니다.

이 경우에는 제이슨 파일을 읽는 어떤 곳에서 제이슨 파일이 없어서 일어나는 경우다. 프로그램에 익숙치 않다면 상급자에게 이 Json파일의 위치나 유무에 대해 묻거나 아니면 로그를 보고 파일을 찾아보자.

내부에 없다면 개발서버나 운영 서버에서 복사해올 수도 있는데 일단 위치를 알아야 하고 서버 테스트 기간 또는 사용 기간에 서버를 잘못 건드리면 큰일나니 신중히 접근해야 한다.




오류는 보통 로그에 다 남는다. 그전에 오류메시지만으로 대체로 확인 및 수정이 가능하다. 하지만 오류메시지가 분명하지 않다면 솔루션 특유의 어떤 특이점에서 오는 오류일 수 있으니 상급자의 경험에 기반해 묻고 방법을 구하는 것도 방법이다.

728x90
반응형
LIST

댓글