好的,我在这里尝试了一切。我确实从
安装了msnodesql- https://github.com/Azure/node-sqlserver
和
- http://www.microsoft.com/en-us/download/details.aspx?id=29995
遵循安装的每一条指令。用node-gyp构建......一切。
然后我做的事情如下:
var conn_str = "Driver={SQL Server Native Client 11.0};Server={(local)\\SQLEXPRESS};Database={DBName};Trusted_Connection={Yes};";
var stmt = sqlserver.query(conn_str, "SELECT * from av.CLIENT");
stmt.on('meta', function (meta) { console.log("We've received the metadata"); });
stmt.on('row', function (idx) { console.log("We've started receiving a row"); });
stmt.on('column', function (idx, data, more) { console.log(idx + ":" + data); });
stmt.on('done', function () { console.log("All done!"); });
stmt.on('error', function (err) { console.log("We had an error :-( " + err); });
它在节点控制台上抛出了一个错误:
[错误:[msnodesql]传递给函数查询无效。类型应为。]
让我发疯的是它应该是这样的:
[错误:[msnodesql]无效--SOMETHING--传递给函数查询。类型应为--SOMETHING_ELSE - 。]
正确?
它甚至没有通过 stmt.on('错误',行
我一遍又一遍地重复安装步骤,认为可能在构建过程中出现错误,但没有。!
我正在使用Windows 8 x64和节点v-0.10(我想知道该驱动程序是否仅适用于节点v.0.8<
我需要帮助。 PLS。
答案 0 :(得分:0)
我没有使用node-sqlserver,但是我使用了tedious并且运行良好。试一试,也许你会有更好的运气?
答案 1 :(得分:0)
确定。我刚刚发现它为什么会出现像Error这样的错误:[msnodesql]传递给函数查询无效。类型应该是。]。
如果碰巧有一个Array对象的原型,它会抛出这种错误。例如,我在Array类上有一个原型函数,名为" indexOfObject" .....
更具体地说, msnodesql>中有一个文件。 lib> sql.js ,其中包含一个名为validateParameters的函数。
在那里,我改变了这个:
if ( typeof parameters[p].value != parameters[p].type )
为此:
if ( typeof parameters[p].value != parameters[p].type && parameters[p].name )
它可能不会成为我所有问题的解决方案,但至少从那里开始一切正常。!