为我的db工作休息api遇到了这个问题
ReferenceError:未定义请求
现在我有一个可行的连接,但是如何使用mssql-node进行休息请求。最初我使用mySql db,但现在必须使它与mssql一起使用。在我花了一些时间之后我有2种错误类型 - 如果我在app.get中进行连接,这个或连接不起作用
现在设置的方式是
const express = require('express')
const sql = require('mssql');
const Connection = require('tedious').Connection;
var config = {
userName: 'user' ,
password: 'pass',
domain: "AD",
server: serversIP,
database: 'test',
port: 2222,
debug: true,
driver: 'tedious',
options: {
database:"test",
instanceName : "instance"
}
}
var connection = new Connection(config);
connection.on('connect', function(err) {
if (err) {
console.log(err);
} else {
console.log("server is connected to DB")
}}
);
app.get("/" , (req, res)=>{
new sql.Request().query(`SELECT * FROM test `, (err, recordset) => {
if (err) {
console.log(err);
return;
}
else {
res.send(JSON.stringify(recordset));
}
});
request.query();
});
这个错误的原因是什么?
更新
经过几次小的错误迭代后,我得到一个错误,即没有指定connaction
使用像这样的新功能
app.get("/getUsers", (req, res)=>{
sql.connect(config, function (err) {
var request = new sql.Request();
if (err) {
console.log(err);
return;
}
new sql.query(`SELECT * FROM dbo.tblDatabaseUserIDs_lookup `, (err, recordset) => {
console.log("first error msg");
if (err) {
console.log(err);
return;
}
else {
console.log("second error msg");
res.send(JSON.stringify(recordset));
}
});
console.log("3rd error msg");
//req.query();
});
});
我的新错误消息是
var bufferLength = 64 + domain.length * 2 + username.length * 2 + lm v2len + ntlmv2len + 8 + 8 + 8 + 4 + server_data.length + 4;
TypeError:无法读取未定义的属性“length”
认为它可能是由于第一个连接功能所以我更换了
sql.connect(config, function (err) {
var request = new sql.Request();
if (err) {
console.log(err);
return;
}
带
...connection.callProcedure(function (err) {
new sql.query(`SELECT * ....
并得到了这个
TypeError:request.validateParameters不是函数
但是
connection.commitTransaction
它给了我这个
(node:15956)UnhandledPromiseRejectionWarning:未处理的承诺 rejection(拒绝id:1):RequestError:未指定连接 对于那个请求。
我尝试遵循此解决方案的有趣部分Can't get Node mssql to work properly
答案 0 :(得分:0)
这可能有帮助!!
尝试将连接作为Request()的参数传递。
var request = new sql.Request(connection)