1

我有一个对象想插入到我的MSSQL数据库中的表中。

根据 github 上的Seriate 文档,这应该不是问题。

我的设置如下所示:

apiRoute.js

module.exports = function(express, schema) {

    var apiRoute = express.Router();

    apiRoute.post('/test-path', function(req, res) {

        schema.test()
        .then(function(results) {
            res.json(results);
        }, function(err) {
           res.json(err); 
        });
    });

    return apiRoute;

}

schema.js

var sql     = require('seriate');
var when    = require('when');



var test = function() {    
    return sql.execute({
        query: "select * from @children",
        params: { 
            children: {
                val: [
                    { id: 1, firstName: "James", middleName: "Paul"},
                    { id: 2, firstName: "John", middleName: "Winston" },
                    { id: 3, firstName: "George", middleName: "Harold" },
                    { id: 4, firstName: "Richard", middleName: "Parkin" }
                ],
                asTable: {
                    id: sql.INT,
                    firstName: sql.NVARCHAR(50),
                    middleName: sql.NVARCHAR(50)
                }
            }
        }
    });
}

module.exports = {
    test: test
}

当我用 Postman 进行测试时,请求会一直持续到最终超​​时。

如果我只执行没有该asTable部分的查询:

 select 1

它工作得很好。

我错过了什么?

4

1 回答 1

0

您是否尝试过使用 .step

和这个:

结果.事务.commit()

我遇到了同样的问题,但是当我使用此方法进行修改时,它运行良好,但是您还需要添加一个终止函数来停止(即回调函数、.end 等)。

如果这没有意义,请告诉我,我将发布整个示例代码。

于 2016-06-14T18:27:58.637 回答