【问题标题】:How to get the mssql output in protractor + VSCode如何在量角器 + VSCode 中获取 mssql 输出
【发布时间】:2019-04-23 02:28:48
【问题描述】:

我正在运行下面的代码,似乎连接成功,但我没有看到任何输出,或者有什么方法可以看到查询结果的输出,我是这个量角器 nodeJS MSSQL 连接的新手。

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 }

【问题讨论】:

    标签: node.js sql-server typescript visual-studio-code protractor


    【解决方案1】:

    我没有从他们的官方文档中找到有关方法 request.send(recordset); 的任何信息。

    请求对象中支持的方法有:

    1. 执行 - https://www.npmjs.com/package/mssql#execute
    2. 输入 - https://www.npmjs.com/package/mssql#input
    3. 输出 - https://www.npmjs.com/package/mssql#output
    4. 管道 - https://www.npmjs.com/package/mssql#pipe
    5. 查询 - https://www.npmjs.com/package/mssql#query
    6. 批次 - https://www.npmjs.com/package/mssql#batch
    7. 散装 - https://www.npmjs.com/package/mssql#bulk
    8. 取消 - 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);
              }
      
          });
      
      
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-12-27
        • 1970-01-01
        • 1970-01-01
        • 2020-01-18
        • 1970-01-01
        • 2020-04-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多