Moim celem jest połączenie z bazą danych Oracle na komputerze gościa VMWare (OpenSuse) z Ubuntu.libclntsh.so.12.1: nie można otworzyć błędu pliku współdzielonego podczas uruchamiania próbki węzła-oracledb
Na razie zainstalowałem tylko sterownik oracledb i próbowałem uruchomić podany example connect program.
Kroki, które obserwuję, pochodzą ze strony github INSTALL. To, co zrobiłem do tej pory, to:
1) Ponieważ mam już zainstalowany node.js, pominąłem step 3.1.
2) I został pobrany i ekstrahuje się podstawową i sdk jak opisane w step 3.2.
3) Ponieważ nie mogłem znaleźć żadnej paczki o nazwie libaio
, ale znalazłem libaio1
. Więc zainstalowałem libaio1
.
4) Utworzono zmienną środowiskową LD_LIBRARY_PATH
, a jej zawartość na moim komputerze to /opt/oracle/instantclient
.
5) Jak wspomniano w step 3.3; mimo że nie było to obowiązkowe w moim przypadku; Zrobiłem dwie zmienne środowiskowe: OCI_LIB_DIR
z zawartością /opt/oracle/instantclient
i OCI_INC_DIR
z zawartością /opt/oracle/instantclient/sdk/include
.
6) Zainstalowany node-oracledb
.
Próbuję uruchomić przykład połączenia programu. Kod, którego używam, jest tutaj https://github.com/ishanatmuz/oracle-test. Po uruchomieniu node connect.js
otrzymuję ten błąd.
/home/ishan/node.js/oracle-test/node_modules/oracledb/lib/oracledb.js:28
throw err;
^
Error: libclntsh.so.12.1: cannot open shared object file: No such file or directory
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/home/ishan/node.js/oracle-test/node_modules/oracledb/lib/oracledb.js:23:15)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (modullibclntsh.so.12.1e.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
Ponieważ nie uruchomiłem jeszcze komputera gościa VMware; Miałem nadzieję, że wystąpi błąd związany z brakiem takiej instancji bazy danych. A następnie dopiero po tym uruchom maszynę VMWare i połącz się z bazą danych wewnątrz niej. Ale zamiast tego otrzymuję błąd cannot open shared object file
dla libclntsh.so.12.1
.
przykro mi.Nie przyjąłem twojej odpowiedzi. To był naprawdę problem. Zrobiłem to trochę wcześniej niż twoja odpowiedź. Zapomniałem zaakceptować to jako rozwiązanie. Przepraszam, że musiał pan czekać. – Ishan