首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将数据从nodejs控制台移动到SQL Server

将数据从nodejs控制台移动到SQL Server
EN

Stack Overflow用户
提问于 2017-12-11 20:47:04
回答 1查看 451关注 0票数 0

我对node.js非常陌生。使用以下代码,我能够将数据从wesbite检索到控制台中。

代码语言:javascript
运行
复制
var https = require("https");

var username = "********";
var password = "********";
var auth = "Basic " + new Buffer(username + ':' + 
password).toString('base64');

var request = https.request({
method: "GET",
host: "api.intrinio.com",
path: "/companies?ticker=AAPL",
headers: {
    "Authorization": auth
}
}, function (response) {
var json = "";
response.on('data', function (chunk) {
    json += chunk;
});
response.on('end', function () {
    var company = JSON.parse(json);
    console.log(company);
});
});

request.end();

结果如下:

我的问题是:如何将这些数据传输到SQL Server中?我试着看了一些教程和视频。但我不能确切地理解它是如何工作的。

提前谢谢。

EN

Stack Overflow用户

发布于 2017-12-11 21:36:39

这是一个非常宽泛的问题。从节点连接MS-SQL server通常使用tedious包。您可以直接使用此包插入数据,如https://docs.microsoft.com/en-us/sql/connect/node-js/step-3-proof-of-concept-connecting-to-sql-using-node-js中所述

以下是上述链接中的一个片段。

代码语言:javascript
运行
复制
var Connection = require('tedious').Connection;  
    var config = {  
        userName: 'yourusername',  
        password: 'yourpassword',  
        server: 'yourserver.database.windows.net',  
        // If you are on Azure SQL Database, you need these next options.  
        options: {encrypt: true, database: 'AdventureWorks'}  
    };  
    var connection = new Connection(config);  
    connection.on('connect', function(err) {  
        // If no error, then good to proceed.  
        console.log("Connected");  
        executeStatement1();  
    });  

    var Request = require('tedious').Request  
    var TYPES = require('tedious').TYPES;  

    function executeStatement1() {  
        request = new Request("INSERT SalesLT.Product (Name, ProductNumber, StandardCost, ListPrice, SellStartDate) OUTPUT INSERTED.ProductID VALUES (@Name, @Number, @Cost, @Price, CURRENT_TIMESTAMP);", function(err) {  
         if (err) {  
            console.log(err);}  
        });  
        request.addParameter('Name', TYPES.NVarChar,'SQL Server Express 2014');  
        request.addParameter('Number', TYPES.NVarChar , 'SQLEXPRESS2014');  
        request.addParameter('Cost', TYPES.Int, 11);  
        request.addParameter('Price', TYPES.Int,11);  
        request.on('row', function(columns) {  
            columns.forEach(function(column) {  
              if (column.value === null) {  
                console.log('NULL');  
              } else {  
                console.log("Product id of inserted item is " + column.value);  
              }  
            });  
        });       
        connection.execSql(request);  
    }

但是使用ORM是最佳实践。sequelize是节点社区中最好的之一。

代码语言:javascript
运行
复制
$ npm install --save sequelize
$ npm install --save tedious // MSSQL

const Sequelize = require('sequelize');
const sequelize = new Sequelize('database', 'username', 'password', {
  host: 'localhost',
  dialect: 'mssql'
});

您必须通读这些模块的文档才能更好地理解。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47753334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档