0

好的,我在这里尝试了一切。我确实从

- 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('error',

我一遍又一遍地重复安装步骤,认为可能在构建过程中出现错误,但没有。!

我正在使用 Windows 8 x64 和节点 v-0.10(我想知道该驱动程序是否只能用于节点 v.0.8 <

我需要帮助。请。

4

2 回答 2

0

好的。我刚刚发现为什么它会出现错误,例如 Error: [msnodesql] Invalid passing to function query。类型应该是 .] 。

如果你碰巧在 Array 对象上有一个原型,它会抛出这种错误。例如,我有一个名为“indexOfObject”的 Array 类的原型函数.....

更具体地说,在msnodesql > lib > sql.js中有一个文件,其中有一个名为 validateParameters 的函数。

在那里,我改变了这个:

if ( typeof parameters[p].value != parameters[p].type ) 

为了这:

if ( typeof parameters[p].value != parameters[p].type && parameters[p].name ) 

它可能不会被认为是我所有问题的解决方案,但至少从那里开始一切正常。!

于 2014-06-19T17:52:03.020 回答
0

我没有用过node-sqlserver,但是我用过很乏味,而且效果很好。试试看,也许你会有更好的运气?

于 2014-06-19T17:34:48.943 回答