22.01.18

삶은달걀·2022년 1월 18일
0

오늘의 고민

목록 보기
4/8
post-thumbnail

사실 mssql을 쓰는 건 처음이다. 게다가 node 프로젝트를 직접 생성한 경험도 많지 않다. 하지만 이 요상한 조합으로 진행되고 있다. 회사에서 개발 중인 페이지 얘기다.

https://docs.microsoft.com/ko-kr/sql/connect/node-js/step-3-proof-of-concept-connecting-to-sql-using-node-js?view=sql-server-ver15

공식 문서를 참고하는 것만큼 확실한 방법도 없지만 그만큼 부실한 것도 사실이다. 그럼에도 POC나 서적을 볼 수 밖에 없는 이유는 죽었다 깨어나도 부정할 수 없는 명확한 기초가 들어 있기 때문이다.

위의 페이지에는 예시 코드와 몇 줄의 설명이 적혀 있다. 그래서 다 필요없고 node 프로젝트에서 mssql db에서 레코드를 읽어오는 방식이 request를 통해서 수행된다는 다음 내용만 기억하자.

모든 SQL 문은 new Request() 함수를 사용하여 실행됩니다. Select 문과 같이 행을 반환하는 문의 경우 request.on() 함수를 사용하여 행을 가져올 수 있습니다. 행이 없다면 request.on() 함수가 빈 목록을 반환합니다.

사실 'tedious'로 통일시키지 않아서 연결에 메모리 낭비가 생기거나 뭔가 빠뜨리고 넘어가는 기분이긴 한데 뭐가 어찌됐든 request를 통해 db의 데이터를 다룰 수 있게 된다.

그리고 퇴근하기 전에 마지막으로 출력해 봤던 콘솔 내용에 의하면 on을 통해 row를 가져오는 건 맞지만 그 값을 변수에 할당하는 건 별개였던 거 같다. 이게 node가 싱글 스레드라는 점과 관련 있을지는 모르겠는데 execSql가 코드에 포함되어 있지 않았다는 점도 염두에 두고 자세히 확인해 봐야겠다.

0개의 댓글