Node js подключение к Oracle БД дает DPI-1047 - PullRequest
0 голосов
/ 02 мая 2020

Я пытаюсь подключиться к Oracle БД к node JS. SQL разработчик уже установлен и успешно работает, SQL разработчик подключен к базе данных сервера с помощью файла tnsnames.ora. Но когда я пытаюсь запустить ниже код


    oracledb.getConnection({
    user          : "Admin",
    password      : "Password",
    connectString : "(DESCRIPTION =(ADDRESS = (PROTOCOL = tcp)(HOST = 
    xx.xx.xx.xx)(PORT = 1521)) (CONNECT_DATA =(SERVER = DEDICATED) 
    (SERVICE_NAME = sblbld)))"})

it throws below error:
Error: DPI-1047: Cannot locate a 64-bit Oracle Client library: "C:\app\product\1
1.1.0\client_1\bin\oci.dll is not the correct architecture". See https://oracle.
github.io/odpi/doc/installation.html#windows for help
Node-oracledb installation instructions: https://oracle.github.io/node-oracledb/
INSTALL.html
You must have 64-bit Oracle client libraries in your PATH environment variable.
If you do not have Oracle Database on this computer, then install the Instant Client Basic or Basic Light package from.

Может кто-нибудь, пожалуйста, помогите. Спасибо

1 Ответ

2 голосов
/ 03 мая 2020

Причина SQL Разработчик не жалуется на ту же проблему, что и ваше приложение node.js SQL Разработчик использует чистый драйвер Java JDB C для подключения к базе данных. Тонкий драйвер JDB C полностью написан на Java и включен в установку продукта "SQL Developer".

Появится подобное сообщение об ошибке, если Вы просите SQL Developer подключиться к базе данных, используя драйвер толстого * (библиотека OCI)

В некоторых ситуациях вам понадобится толстый драйвер для подключения в SQL Developer. Эта ссылка объяснит, когда: https://www.thatjeffsmith.com/archive/2019/04/sql-developer-19-1-connections-thick-or-thin/

Для вашего модуля node.js oracledb требуется клиентская библиотека (OCI) для подключения к базе данных, поэтому, пожалуйста, загрузите и установите oracle мгновенный клиент перед попыткой подключения.

Удачи

...