0
nss mssqlモジュールを持つノードjsアプリケーションがあります。私はクラウドWindows 2012サーバーを購入し、ストアドプロシージャを呼び出そうとすると、エラーをスローします。ノードmssqlはエラーをスローします:プールは排水しており、仕事を受け入れることができません
「私はこのエラーが発生する理由を探してみてくださいすることができますが、なかったps.prepare( "実行usp_Get_Carsの@param"、機能(ERR)
var express = require('express');
var app = express();
var router = express.Router();
var util = require('util');
var recieve = require('./recieve');
var userID = "7DF506E1-700D-4D30-8162-74A903743561";
app.use('/node_modules', express.static(__dirname + '/node_modules'));
app.use('/style', express.static(__dirname + '/style'));
app.use('/script', express.static(__dirname + '/script'));
var sql = require('mssql');
var config = {
user: 'prod_admin',
password: 'myPassword',
server: 'serverName',
database: 'elements'
};
app.get("/getCars/:userID", function(req, res) {
var userID = req.params.userID;
var connection = new sql.Connection(config, function(err) {
var ps = new sql.PreparedStatement(connection);
ps.input('param', sql.NVarChar(sql.MAX));
ps.prepare("exec usp_Get_Cars @param", function(err) {
ps.execute({
param: userID
}, function(err, recordset) {
console.log('Recordset: ' + JSON.stringify(recordset));
res.send(recordset);
ps.unprepare(function(err) {
console.log('Error on unprepare: ' + err);
});
});
});
});
});
app.get('/', function(req, res) {
res.sendFile('home.html', {
'root': __dirname + '/templates'
});
});
app.listen(3000, function() {
console.log('Node server running @ http://localhost:3000');
});
でエラーをスローしますmssqlまたはノードに関連するものは見つかりません。throws the error hereのコードが表示されます。これがサーバーの設定に問題があるのでしょうか?
エラーはありませんjsファイルのrsと私はWindowsのローカルマシン上でこれを実行する問題はありません。何か案は?
接続をどこで終了しますか?あなたがそれらを閉じなければ、私は彼らが開いたままになり、最終的にタイムアウトすると思う。あなたが要求する速さによっては、接続がプール内で開いたままになっている可能性があります。 – Psi
@Psi接続が行われる前にエラーが発生したようです。私は最後にconnection.close()を追加しましたが、それは何もしませんでした。また、[docs here](https://www.npmjs.com/package/mssql#prepared-statement)によると、ps.unprepare()を呼び出すと接続がプールに戻されるはずです。 – Scott
提案がありますか? – Scott