Oracle¶
Работа Node.js с Oracle осуществляется с использованием модуля node-oracledb.
Установка¶
Самый простой способ установить node-oracledb - использовать npm, в репозитории которого хранится уже скомпилированная и настроенная версия модуля.
1 | |
При установке модуля через npm для ОС Windows потребуется установка Microsoft Visual C++ 2015.
В некоторых случаях использование в операционной системе уже скомпилированного модуля будет невозможным и потребуется ручная компиляция модуля из исходного кода. В этом случае порядок действий следующий:
- Установить Python версии 2.7;
- Установить компилятор C с поддержкой C++ (подойдет Microsoft Visual C++ 2015);
- Выполнить из директории проекта команду:
1 | |
Для работы в Node.js модуля node-oracledb вне зависимости от операционной системы, она обязательно должна содержать клиентскую библиотеку Oracle. Например, для Windows x64 ее можно скачать здесь.
Подключение¶
Для подключения к базе данных Oracle используется метод getConnection() библиотеки node-oracledb, которому обязательно передаются следующие параметры:
user- имя пользователя БД;password- пароль пользователя БД;connectString- строка подключения в форматеhost/service, гдеhost- хост, где запущена БД, аservice- имя сервиса экземпляра БД.
1 2 3 4 5 6 7 8 9 10 11 12 | |
Выполнение запросов¶
Чтобы выполнить запрос к базе, используйте метод execute().
1 2 3 4 | |
Если в запросе вам необходимо использовать переданные с клиента данные, то для безопасности осуществления SQL-инъекции внешние данные передаются в запрос вторым параметром в виде массива.
1 2 3 4 5 6 | |
В самом запросе внешние данные определяются с помощью двоеточия и имени параметра. Но их подстановка будет происходить по порядку: для первой переменной в запросе - первое значение из массива и т. д.
Цель данной статьи - дать минимальные знания, которых достаточных для начала использования в Node.js модуля node-oracledb. На самом деле он имеет обширное API, позволяющее использовать весь функционал Oracle. Более подробно ознакомиться с возможностями node-oracledb можно в официальной документации.