sails MSSQL DB更新错误

时间:2018-03-21 09:47:55

标签: sails.js nodes

我无法从风帆中进行MSSQL更新。我面临着以下错误。

User.update({ id: 1 },

        { id: 1, name: 'test' }).exec(function afterwards (err, user) {

            if (err) {
                console.log(err);

            } else {
                console.log("Users updated:", users);
            }
        });
  

2018-03-21T08:21:52.868Z - 错误:错误:错误(E_UNKNOWN)::      遇到意外错误RequestError:语法不正确      关键字'WHERE'。在Connection。      (d:\项目\ WODevelopment \树干\ QMS3.0 \ POC \ WideOrbit-服务器\ node_modules \帆-SQLSERVER \ node_modules \ MSSQL \ lib中\ tedious.js:658:17)      在Connection.emit(events.js:211:7)的emitOne(events.js:116:13)      在Parser。      (d:\项目\ WODevelopment \树干\ QMS3.0 \ POC \ WideOrbit-服务器\ node_modules \帆-SQLSERVER \ node_modules \ MSSQL \ node_modules \乏味\ lib中\ connection.js:444:15)      at emitOne(events.js:116:13)at Parser.emit(events.js:211:7)at at      Parser.nextToken      (d:\项目\ WODevelopment \树干\ QMS3.0 \ POC \ WideOrbit-服务器\ node_modules \帆-SQLSERVER \ node_modules \ MSSQL \ node_modules \乏味\ lib中\令牌\令牌流parser.js:91:18)      在Parser.addBuffer      (d:\项目\ WODevelopment \树干\ QMS3.0 \ POC \ WideOrbit-服务器\ node_modules \帆-SQLSERVER \ node_modules \ MSSQL \ node_modules \乏味\ lib中\令牌\令牌流parser.js:68:17)      在Connection.sendDataToTokenStreamParser      (d:\项目\ WODevelopment \树干\ QMS3.0 \ POC \ WideOrbit-服务器\ node_modules \帆-SQLSERVER \ node_modules \ MSSQL \ node_modules \乏味\ lib中\ connection.js:891:35)      在Connection.data      (d:\项目\ WODevelopment \树干\ QMS3.0 \ POC \ WideOrbit-服务器\ node_modules \帆-SQLSERVER \ node_modules \ MSSQL \ node_modules \乏味\ lib中\ connection.js:275:23)      在Connection.dispatchEvent      (d:\项目\ WODevelopment \树干\ QMS3.0 \ POC \ WideOrbit-服务器\ node_modules \帆-SQLSERVER \ node_modules \ MSSQL \ node_modules \乏味\ lib中\ connection.js:752:59)      在MessageIO。      (d:\项目\ WODevelopment \树干\ QMS3.0 \ POC \ WideOrbit-服务器\ node_modules \帆-SQLSERVER \ node_modules \ MSSQL \ node_modules \乏味\ lib中\ connection.js:680:22)      在emitOne(events.js:116:13)的MessageIO.emit(events.js:211:7)
     在MessageIO.eventData      (d:\项目\ WODevelopment \树干\ QMS3.0 \ POC \ WideOrbit-服务器\ node_modules \帆-SQLSERVER \ node_modules \ MSSQL \ node_modules \乏味\ lib中\消息io.js:56:12)      在Socket。      (d:\项目\ WODevelopment \树干\ QMS3.0 \ POC \ WideOrbit-服务器\ node_modules \帆-SQLSERVER \ node_modules \ MSSQL \ node_modules \乏味\ lib中\消息io.js:3:59)      在emitOne(events.js:116:13)的Socket.emit(events.js:211:7)at      addChunk(_stream_readable.js:263:12)在readableAddChunk上      (_stream_readable.js:250:11)在Socket.Readable.push      (_stream_readable.js:208:10)在TCP.onread上(net.js:594:20)      详细信息:RequestError:关键字“WHERE”附近的语法不正确。

1 个答案:

答案 0 :(得分:0)

首先尝试使用sails-mssql,如果不能解决您的问题,请转到下面

Sails使用不提供任何特定方法来调试查询生成并使用水线Orm执行

以下列出的几种方法可以更有效地调试问题,因为错误堆栈说它们在Where子句附近的查询中存在问题

2018-03-21T08:21:52.868Z - error: error: Error (E_UNKNOWN) :: Encountered an 
unexpected error RequestError: Incorrect syntax near the keyword 'WHERE'. at 
Connection. 

1)使用这些方法调试mssql management studio查询日志    How to see query history in SQL Server Management Studio

2)尝试访问mssql的驱动程序>核心文件,它执行查询并执行console.log

希望它可以帮到你