#node.js #sql-server #typescript #visual-studio-code #protractor
#node.js #sql-сервер #typescript #visual-studio-code #транспортир
Вопрос:
Я запускаю приведенный ниже код, кажется, что соединение установлено успешно, но я не вижу никаких выходных данных или есть какой-либо способ увидеть выходные данные результата запроса, я новичок в этом соединении MSSQL protractor NodeJS.
const assert = require("../configuration.js");
const { config } = require("dotenv");
const { ConnectionPool } = require("mssql");
var sql = require('mssql');
config();
const c = {
driver: 'msnodesqlv8',
server: "server/nameORIP",
user: "UserName",
password: "Password",
database: 'DBname',
};
describe("mssql connection", () => {
it('test query', () => {
sql.connect(config, (err) => {
if (err) console.log(err);
// create Request object
var request = new sql.Request();
// query to the database and get the records
request.query('select * from NetUsers', (err, recordset) => {
if (err) console.log(err)
// send records as a response
request.send(recordset);
});
}); // end of sql.connect()
}) // end of it
})
Вывод
Request {
_events: [Object: null prototype] {},
_eventsCount: 0,
_maxListeners: undefined,
canceled: false,
_paused: false,
parent: [Function: ConnectionPool],
parameters: {},
rowsAffected: 0 }
Ответ №1:
Я не нашел никакой информации для метода request.send(recordset);
из их официальной документации.
Поддерживаемые методы в объекте запроса:
- выполнить — https://www.npmjs.com/package/mssql#execute
- ввод — https://www.npmjs.com/package/mssql#input
- вывод — https://www.npmjs.com/package/mssql#output
- канал — https://www.npmjs.com/package/mssql#pipe
- запрос — https://www.npmjs.com/package/mssql#query
- пакет — https://www.npmjs.com/package/mssql#batch
- массовый — https://www.npmjs.com/package/mssql#bulk
- отмена — https://www.npmjs.com/package/mssql#cancel
request.query
функция предоставит вам список записей из базы данных и передаст его функции обратного вызова, а доступ к значениям можно получить напрямую с помощью
request.query('select * from NetUsers', (err, resultArray) => {
if (err) console.log(err)
// if no error
console.log(resultArray.recordset[0]); //will print the first row from response.
});
См . : https://www.npmjs.com/package/mssql#query-command-callback
Ответ №2:
Я, наконец, заставил его работать с небольшими изменениями, он не только подключается, но и выполняет запрос и показывает мне вывод в консоли, еще раз спасибо за всю помощь.
import { async } from "q";
const sql = require('mssql/msnodesqlv8');
const assert = require("../configuration.js");
const poolPromise = new sql.ConnectionPool({
driver: 'msnodesqlv8',
server: "server/nameORIP",
user: "UserName",
password: "Password",
database: 'DBname',
})
.connect()
.then(pool => {
console.log('Connected to MSSQL')
return pool
})
.catch(err => console.log('Database Connection Failed! Bad Config: ', err))
;
describe('any test', () => {
it('verification', async () => {
try
{
const pool = await poolPromise;
const result = await pool.request()
.query('SELECT TOP (10) * FROM dbo.NetUsers')
console.log(result);
}
catch(err)
{
console.log(err);
}
});
});