1、下載node-sqlserver
(1)msnodesql (msnodesql-0.2.1-v0.8-x64.msi)下載地址:下載 自行選擇與自己系統相符的版本,點擊安裝。
(2)msnodesql 官方地址:https://github.com/WindowsAzure/node-sqlserver 含wiki 和 疑問解答 。
開始我是通過(1)來下載node-sqlserver的,但是發現在編譯build的那一步怎么都沒運行通過,我的操作系統是64位的,后來在網上看到一個老外說,不要下載msi來安裝,最好通過GitHub網站來下載zip包。
2、打開msnodesql 文件夾下的README.md文件,里面有說到要安裝的東西。
3、安裝node-gyp,打開命令行,輸入命令:
npm install -g node-gyp
4、下載安裝python 2.7.6,注意必須是python 2.7.x版本,我開始下載的是3.4.0版本,但是不支持gyp。
官方下載地址:https://www.python.org/download/
5、下載安裝Visual C++ 2010 - the Express edition
官方下載地址:http://www.visualstudio.com/zh-cn/downloads/
6、在第一步中下載的node-sqlserver-master.zip解壓之后的文件夾放到測試項目下的node_modules目錄下,並把文件夾名稱“node-sqlserver-master”修改為“msnodesql”。
然后在命令行里進入到\node_modules\msnodesql中,執行如下命令
node-gyp configure
這會為C++源代碼創建一個解決方案和項目。成功之后再執行命令:
node-gyp build
編譯成功之后,會在msnodesql文件夾的build\Release下生成一個sqlserver.node文件。
7、清除掉build下除“Release\sqlserver.node”文件之外的所有東西。
同時把sqlserver.node文件復制到msnodesql\lib文件夾中,可以打開該文件夾中的sqlserver.native.js文件,里面有調用到sqlserver.node文件。
清除掉msnodesql下的binding.gyp文件,如果不清除,會以為msnodesql沒有編譯。
8、安裝debugging: 在測試項目的目錄下新增一個文件“IISNode.yml”,文件的內容為:
loggingEnabled: true devErrorsEnabled: true
如果項目正式上線,請刪除此文件。
9、寫代碼測試數據庫連接
var conn_str = "DSN=JobTasks;uid=sa;PWD=DB41Pswd;DATABASE=JobTasks"; var mssql = require('msnodesql'); mssql.open(conn_str, function (err, conn) { if (err) { console.log("Error opening the connection!"); console.log(err); return; } mssql.queryRaw(conn_str, "select * from test", function (err, results) { if (err) { console.log(err); } else { for (var i = 0; i < results.rows.length; i++) { console.log(results.rows[i][0] + ' ' + results.rows[i][1] + ' ' + results.rows[i][2]); } } }) mssql.query(conn_str, "INSERT INTO test (ID, Name, [Enable]) VALUES (?,?,?)", ['T0005', 'Test_NodeSql', 'N'], function( e, r ) { if (e) { console.log(e); } }); });