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
можно в официальной документации.