Node.js连接Microsoft SQL Server数据库

101 阅读2分钟

Node.js连接Microsoft SQL Server数据库

SQL Server Management Studio相关设置

一、windows身份验证

当我们下载好SQL Server Management Studio,打开后会出现如下界面:

image.png

由于我进行过数据库连接,所以上面显示了两个“最近的连接”,一开始的话上面是空白的 此时默认是使用windows身份验证,直接点击“继续”建立连接

二、SQL Server身份验证 上面的操作确实连接到了数据库,但我们使用Node.js进行连接的时候,还需要设置用户名和密码,而通过上面的操作我们都不知道用户名和密码是什么,所以我们转换为 SQL Server身份验证,就是为了去设置用户名和密码,以便后续 Node.js 进行连接

如何进行转换:

image.png

image.png

image.png

image.png

上述操作完成后,重启SQL Server Management Studio,在Authentication处选择SQL Server身份验证,输入用户名和密码完整连接即可

image.png

image.png

Node.js进行连接

安装nodejs(用20以上的版本),使用nvm去安装,如下图所示

image.png

安装tedious(sqlserver的数据库驱动)

npm install tedious
const { Connection, Request } = require("tedious");

const dbConfig = {
  authentication: {
    options: {
      userName: "sa", //数据库账号
      password: "12345678" //数据库密码
    },
    type: "default"
  },
  server: "192.168.173.96", //本机ip
  options: {
    database: "MyDatabase1",
    encrypt: true,
    trustServerCertificate: true
  }
};

const connection = new Connection(dbConfig);

// 尝试建立连接
connection.on('connect', err => {
  if (err) {
      console.error('连接错误:', err.message);
  } else {
      console.log('成功连接到数据库');
      // 成功连接后执行查询
      executeQuery();
  }
});

connection.on('error', err => {
  console.error('连接错误:', err.message);
});

// 执行查询
function executeQuery() {
  const request = new Request(
      "SELECT * FROM student", // 替换为你的查询语句
      (err, rowCount) => {
          if (err) {
              console.error('执行查询时出错:', err.message);
          } else {
              console.log(`${rowCount} 行被返回`);
          }
          // 关闭连接
          connection.close();
      }
  );

  // 处理结果集
  request.on('row', columns => {
      columns.forEach(column => {
          console.log(column.metadata.colName + ': ' + column.value);
      });
  });

  // 执行请求
  connection.execSql(request);
}

// 监听连接关闭事件
connection.on('end', () => {
  console.log('数据库连接已关闭');
});

// 开始连接
connection.connect();

原文链接:blog.csdn.net/2201_753282…