Azure Функция Azure Synapse - Почему я получил пустой вывод - PullRequest
2 голосов
/ 03 апреля 2020

Я успешно подключил свою БД и выполнил запросы. Я могу видеть мой результат запроса в терминале. Но я все еще не вижу ответную реакцию тела оператора. Он должен дать мне «Невозможно установить sh соединение». если я не могу подключиться, «успешно подключен к базе данных», если я успешно выполнил запрос, и «не удалось подключиться к базе данных», если он не может выполнить запрос.

Могу ли я запросить некоторую помощь на что я здесь скучаю? Ниже приведены моя функция. js и индекс. js файл.

Моя функция. js

  "bindings": [
    {
      "authLevel": "function",
      "type": "httpTrigger",
      "direction": "in",
      "name": "req",
      "methods": [
        "get",
        "post"
      ]
    },
    {
      "type": "http",
      "direction": "out",
      "name": "res"
    }
  ]
} 

Мой индекс. js:

var Request = require('tedious').Request;

//const { Connection, req } = require("tedious");
var sql = require("mssql");

// config for your database
var config = {
    user: '<userName>',
    password: '<password>'',
    server: '<SQLDBName>.database.windows.net',
    database: '<DB name',
    port: 1433
};

var connection = new Connection(config);
module.exports =  async function(context) {
    context.log('JavaScript HTTP trigger function processed a request.');

    var conn = new sql.ConnectionPool(config);
    var request = new sql.Request(conn);

    //conn.connect(function (err){
    connection.on('connect', function(err) {
        if (err) {
            context.log(err);

            context.res = {
                status: 500,
                body: "Unable to establish a connection."
            };
            context.done();
        }else {
            exStatement();
        }
    });

    function exStatement() {

        request = new Request.query("SELECT * FROM dbo.dbTable", function (err, recordset) {
            if (err) {
                context.log(err);
                context.res ={
                    status : 400,
                    body : "Failed to connect to Database"
                };
                context.done();
                console.log(err);
            }
            else {
                //queryDatabase();
                context.log(recordset);
                context.res ={
                    status : 200,
                    body : "Connected to Database Successfully",
                };
                context.done();
                console.log(recordset);
            }
            conn.close();
        });
        connection.execSql(request);
    }
};
...