簡體   English   中英

mssql節點,獲取請求返回ReferenceError:未定義請求

[英]mssql node, get request returns ReferenceError: request is not defined

為我的數據庫使用REST 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();
    });

該錯誤的原因是什么?

更新

經過幾次小的錯誤迭代后,我得到一個錯誤,未指定聯系人

具有這樣的新功能

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 

它給了我這個

(節點:15956)UnhandledPromiseRejectionWarning:未處理的承諾拒絕(拒絕ID:1):RequestError:未為該請求指定連接。

我嘗試遵循此解決方案的有趣部分無法使Node mssql正常工作

這可能有幫助! 嘗試將連接作為Request()的參數傳遞。 var request = new sql.Request(connection)

一條鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM