Node.js SQL Server: подключение

В этом руководстве вы узнаете, как подключиться к SQL Server из Node.js с помощью пакета mssql.

Создать базу данных SQL Server

Прежде чем продолжить, вам необходимо следовать этому руководству, чтобы создать базу данных BookStore и настроить пользователя с правами полного доступа.

Создание проекта Node.js

Шаг 1. Откройте терминал и создайте новый каталог, например sqlserver-node, для хранения файлов проекта:

mkdir sqlserver-node

Шаг 2. Перейдите в каталог проекта:

cd sqlserver-node

Шаг 3. Инициализируйте проект Node.js:

npm init --yes

Шаг 4. Установите пакет mssql с помощью следующей команды npm:

npm install mssql

Шаг 5. Создайте файл .env, в котором хранится конфигурация SQL-сервера:

DB_USER=YourUser
DB_PASSWORD=YourPassword
DB_SERVER=YourServer
DB_NAME=YourDatabaseName

Например:

DB_USER=joe
DB_PASSWORD=YourPassword
DB_SERVER=localhost
DB_NAME=BookStore

Шаг 6. Измените файл package.json и добавьте type=»module» к парам ключ/значение верхнего уровня, чтобы использовать модуль ES6:

 "type": "module",

Кроме того, измените раздел скриптов на следующий:

  "scripts": {
    "start": "node --env-file=.env index.js"
  },

Сделав это, вы можете выполнить команду:

npm start

Node.js загрузит файл .env и запустит файл index.js.

Шаг 7. Создайте файл config.js для хранения конфигурации базы данных:

export const config = {
  user: process.env.DB_USER,
  password: process.env.DB_PASSWORD,
  database: process.env.DB_NAME,
  server: process.env.DB_SERVER,
  options: {
    encrypt: true,
    trustServerCertificate: true,
  },
};

В файле config.js мы создаем объект конфигурации, используемый для подключения к SQL Server. Объект конфигурации использует объект process.env для доступа к конфигурации базы данных, хранящейся в файле .env.

Шаг 8. Создайте файл index.js, который подключается к SQL Server:

import sql from 'mssql';
import { config } from './config.js';
const connect = async() => {
  try {
    await sql.connect(config);
    console.log('Connected to the database!');
  } catch(err) {
    console.error(err);
  }
};
connect();

Как это работает.

Сначала импортируйте объект SQL из модуля mssql и объект конфигурации из модуля config.js:

import sql from 'mssql';
import { config } from './config.js';

Во-вторых, определите функцию connect(), которая подключается к SQL Server:

const connect = async() => {
  try {
    await sql.connect(config);
    console.log('Connected to the database!');
  } catch(err) {
    console.error(err);
  }
};

Чтобы подключиться к SQL Server, вы вызываете функцию connect объекта sql и передаете объект config. Поскольку функция sql.connect() возвращает promise, мы можем использовать ключевое слово await.

Поскольку мы используем ключевое слово await внутри функции connect, мы также должны пометить функцию как асинхронную.

Если в процессе подключения возникает какая-либо ошибка, мы перехватываем исключение с помощью оператора try…catch и отображаем ошибку в блоке catch.

В-третьих, вызовите функцию connect(), чтобы установить соединение с SQL Server:

connect();

Шаг 9. Запустите команду npm start в терминале, чтобы выполнить файл index.js:

npm start

Если вы видите следующее сообщение, это означает, что вы успешно подключились к SQL Server из программы Node.js:

Connected to the database!

Загрузите исходный код проекта

Загрузите исходный код проекта

Краткое содержание

  • Используйте пакет mssql для подключения к SQL Server из Node.js
Мирослав С.

Автор статей, ИБ-специалист