mssql 节点,get request 返回引用错误:未定义请求



为我的数据库开发 REST API 遇到了这个问题

引用错误:未定义请求

现在我有一个有效的连接,但坚持如何使用 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();
});

此错误的原因可能是什么?

更新

经过几次小的错误迭代后,我收到一个错误,指出未指定连接

有了这样的新功能

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;

类型错误: 无法读取未定义的属性"长度">

以为可能是由于第一次连接功能,所以我更换了

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 

它给了我这个

(节点:15956) 未处理的承诺拒绝警告:未处理的承诺 拒绝(拒绝 ID:1):请求错误:未指定连接 对于该请求。

我试图遵循此解决方案的有趣部分无法让节点mssql正常工作

这可能会有所帮助!! 尝试将连接作为 Request() 的参数传递。var request = new sql.Request(connection)

一个链接

最新更新