본문 바로가기

Programing/Node.js

[Node.js] SQL Server native 연결

github에 보면 모듈을 정리해 놓은 것이 있는데 https://github.com/joyent/node/wiki/modules

데이터베이스에서는 Node.js는 Monngo DB가 대세 인 것 같다. RDBMS에서는 My-SQL이 그나마 라이브러리로 언급이 된다.


정작 회사에서 주로 사용하는 SQL Server이다.

어제 찾아보니 TDS protocol로 구현되어 있는 계열 빼고는 node-sqlserver이 유일한 네이티브 모듈인 것 같았다.


문제는 npm install node-sqlserver로 단순히 설치가 안된다는 사실.

C++ add on 때문에 빌드를 해야 하는데 솔루션 파일 인식 에러가 뜬다.


https://github.com/windowsazure/node-sqlserver 에 보면 준비물(Prerequisites)에 Visual C++ 2010이 필요하다고 한다.


git clone https://github.com/WindowsAzure/node-sqlserver.git 으로 소스를 받고,

node-gyp와 파이썬을 설치하고 node-gyp configure 명령까지 하면 .sln 파일이 생긴다. (build\binding.sln)


빌드를 하면 처참히 실패가 뜬다. 오류가 466개, 경고 28개.


코드들을 보면 nullptr 같은 것이 보이는데 C++11에서 추가된 키워드이다. Visual Studio 2008에서는 빌드가 어려울 것으로 보인다.


그렇다면?? 이미 빌드되어 있는 .node 파일(사실은 .dll)을 이용한다면?

microsoft에서 이런 생각을 알고 Microsoft Driver for Node.JS for SQL Server Preview에서 받을 수 있게 해놓았다.

http://www.microsoft.com/en-us/download/details.aspx?id=29995

문제는 지원하는 Node.js 버전이 0.8.x대라 0.10.x에서는 돌아가지 않는다는 것.


다행히 0.10.x를 위해 빌드를 해놓은 것이 github에 있었다.

https://github.com/jorgeazevedo/node-sqlserver-binary

Thank you for Jorge Azevedo!