资讯详情

【未解决】Azure上运行sql示例代码出错:Error: Cannot find module ‘node-sqlserver’

【问题】

参考官网:

写代码:////https://www.windowsazure.com/en-us/develop/nodejs/how-to-guides/sql-database/#ConnectionInfo

var sql = require('node-sqlserver');

var conn_str = "Server=tcp:xxx.database.windows.net,1433;Database=xxx;User ID=xxx;Password=xxx;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;";

var http = require('http')

var port = process.env.port||3000;

http.createServer(function (req, res) {

sql.query(conn_str, "SELECT * FROM TestTable", function (err, results) {

if (err) {

res.writeHead(500, { 'Content-Type': 'text/plain' });

res.write("Got error :-( " err);

res.end("");

return;

}

res.writeHead(200, { 'Content-Type': 'text/plain' });

for (var i = 0; i < results.length; i ) {

res.write("ID: " results[i].ID " Column1: " results[i].Column1 " Column2: " results[i].Column2);

}

res.end("; Done.");

});

}).listen(port);

结果出错:iisnode encountered an error when processing the request.

HRESULT: 0x2

HTTP status: 500

HTTP reason: Internal Server Error

You are receiving this HTTP 200 response because system.webServer/iisnode/@devErrorsEnabled configuration setting is 'true'.

In addition to the log of stdout and stderr of the node.exe process, consider using debugging and ETW traces to further diagnose the problem.

The last 64k of the output generated by the node.exe process to stderr is shown below:

Application has thrown an uncaught exception and is terminated:

Error: Cannot find module 'node-sqlserver'

at Function._resolveFilename (module.js:337:11)

at Function._load (module.js:279:25)

at Module.require (module.js:359:17)

at require (module.js:375:17)

at Object. (C:\DWASFiles\Sites\uyb-dev\VirtualDirectory0\site\wwwroot\server.js:10:11)

at Module._compile (module.js:446:26)

at Object..js (module.js:464:10)

at Module.load (module.js:353:31)

at Function._load (module.js:311:12)

at Module.require (module.js:359:17)

【解决过程】

1. 想了想,以前参考过:

下载中提到的

node-sqlserver

并且安装,结果实际上sql名为:

msnodesql,对应的package.json也是这个值:{

"name": "msnodesql",

"description": "Microsoft Driver for Node.js for SQL Server",

"author": "Microsoft Corp.",

"contributors": [ "Jonathan Guerin ", "Jay Kint ", "Warren Read ", "George Yan ", "Inga Verbitskaya "],

"version": "0.2.0",

"keywords": ["sql", "database", "mssql", "azure", "sqlserver", "tds", "microsoft", "msnodesql", "node-sqlserver"],

"homepage": "https://github.com/WindowsAzure/node-sqlserver",

"bugs": "https://github.com/WindowsAzure/node-sqlserver/issues",

"licenses": [

{

"type": "Apache 2.0",

"url": "https://raw.github.com/WindowsAzure/node-sqlserver/master/LICENSE"

}

],

"main": "./lib/sql.js",

"repository": {

"type": "git",

"url": "git://github.com/WindowsAzure/node-sqlserver.git"

},

"engines": {

"node": ">=0.6"

},

"devDependencies": {

"mocha" : "0.14.x",

"async" : "0.1.x"

},

"os" : [ "win32" ]

}

这就是为什么我想,把上面提到的

var sql = require(‘node-sqlserver’);

换为:

var sql = require(‘msnodesql’);

结果也出错:Error: Cannot find module 'msnodesql'

2.

标签: uyb型高压电容物位变送器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台