我想从node.js连接到Windows8上的MSSQL,但我无法让它工作:(
如果我运行node-gyp configure build
我得到了这个错误
gyp ERR! build error
gyp ERR! stack Error: `C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe
` failed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (C:\Users\mkirchweger\AppData\Roaming\
npm\node_modules\node-gyp\lib\build.js:267:23)
gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:789:
12)
gyp ERR! System Windows_NT 6.2.9200
gyp ERR! command "node" "C:\\Users\\mkirchweger\\AppData\\Roaming\\npm\\node_mod
ules\\node-gyp\\bin\\node-gyp.js" "configure" "build"
gyp ERR! cwd D:\Bibliotheken\node_test\node_modules\msnodesql
gyp ERR! node -v v0.10.18
gyp ERR! node-gyp -v v0.10.10
gyp ERR! not ok
如果我尝试在没有构建的情况下运行我的node.js应用程序,我会收到消息
Error: Cannot find module '../build/Release/sqlserver.node'
答案 0 :(得分:1)
我应该假设node.js模块“Node-sqlserver”被重命名为“MSNodeSQL”。
我能够通过https://github.com/WindowsAzure/node-sqlserver/tree/master/src
访问模块github找到所需的更改在上面的链接中,在Operation.h
下概述了更改更改为(第38行):
int result = uv_queue_work(uv_default_loop(), &operation->work, OnBackground, OnForeground);
致:
int result = uv_queue_work(uv_default_loop(), &operation->work, OnBackground, (uv_after_work_cb)OnForeground);
我希望这个答案已经足够了。