Есть ли способ указать базу данных при определении утомительной конфигурации (Node.js)?

Согласно Утомительному руководству по началу работы, подключение к базе данных выполняется следующим образом. :

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

      var config = {
        userName: 'test',
        password: 'test',
        server: '192.168.1.210',

        // If you're on Windows Azure, you will need this:
        options: {encrypt: true}
      };

      var connection = new Connection(config);

      connection.on('connect', function(err) {
        // If no error, then good to go...
          executeStatement();
        }
      );

После того, как соединение установлено, запрос может быть выполнен следующим образом:

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

  function executeStatement() {
    request = new Request("select 42, 'hello world'", function(err, rowCount) {
      if (err) {
        console.log(err);
      } else {
        console.log(rowCount + ' rows');
      }
    });

    request.on('row', function(columns) {
      columns.forEach(function(column) {
        console.log(column.value);
      });
    });

    connection.execSql(request);
  }

Однако это работает как шарм, я хочу изменить запрос на следующее:

 request = new Request("select * from table", function(err, rowCount) {

Очевидно, это не сработает, потому что в объекте конфигурации не определена база данных, поэтому SQL не распознает таблицу.

Я попытался добавить следующее в объект конфигурации:

database: 'mydb'

Я все еще получаю следующую ошибку:

Недопустимое имя объекта "таблица".

Как правильно определить базу данных в объекте конфигурации?


person Paul    schedule 14.09.2017    source источник


Ответы (2)


Объект конфигурации должен выглядеть так:

var config = {
  userName: 'username',
  password: 'password',
  server: 'server',
  options: {
      database: "databaseName",
  }
};
person Paul    schedule 14.09.2017

Я подключаюсь с NodeJS к локальному SQL Server с помощью Tedious. Вышеуказанная конфигурация не работала для меня из-за того, как были указаны имя пользователя/пароль. Объекты с несколькими вариантами немного сбивают с толку.

В итоге это сработало:

var config = {
  server: 'localhost',
  options: {
    database: "randomDB"
  },
  authentication: {
    type: 'default',
    options: {
      userName: 'randomUser',
      password: 'randomPassword'
    }
  }
}
person maccaroo    schedule 13.04.2020