NodeJS下訪問SQL Server


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);
        }
    });
});

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM