libclntsh.so.12.1:运行node-oracledb示例时无法打开共享库文件错误

伊山

我的目标是从Ubuntu连接到VMWare来宾计算机(OpenSuse)上的oracle数据库。

现在,我只安装了oracledb驱动程序,并试图运行给出示例连接程序

我要遵循的步骤来自github安装页面。我到目前为止所做的是:

1)因为我已经安装了node.js,所以跳过了步骤3.1

2)我已经成功下载并提取了3.2中提到basicsdk

3)因为我找不到任何名为的软件包,libaio但是我找到了libaio1所以我安装了libaio1

4)我制作了环境变量LD_LIBRARY_PATH,其内容在我的PC上是/opt/oracle/instantclient

5)如步骤3.3所述即使在我看来这不是强制性的;我做了两个环境变量:OCI_LIB_DIR与content/opt/oracle/instantclientOCI_INC_DIRcontent /opt/oracle/instantclient/sdk/include

6)安装node-oracledb

我正在尝试运行示例连接程序。我正在使用的代码在这里https://github.com/ishanatmuz/oracle-test当我运行node connect.js时,出现此错误。

/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)

由于我尚未启动VMware guest虚拟机,因此,我希望收到有关找不到此类数据库实例的错误。然后只有在那之后运行VMWare计算机并连接到其中的数据库。但是相反,我得到了cannot open shared object filefor的错误libclntsh.so.12.1

克里斯托弗·琼斯

我的第一个怀疑是LD_LIBRARY_PATH实际上没有正确设置或导出。对其进行三次检查,尝试启动节点的实际shell可以读取该目录。

export LD_LIBRARY_PATH=/opt/oracle/instantclient_12_2

您需要在任何启动Node.js的外壳中执行此操作。

我还要检查计算机上还安装了哪些其他Oracle库,并确保没有冲突。

几乎可以肯定,使用ldconfig全局设置路径比设置LD_LIBRARY_PATH更容易。您可以执行以下操作:

sudo sh -c "echo /opt/oracle/instantclient_12_2 > /etc/ld.so.conf.d/oracle-instantclient.conf"
sudo ldconfig

有关详细信息,请参见Instant Client安装说明。

如果您有可选的Net配置文件(例如sqlnet.ora或)tnsnames.ora,则可以将它们放在目录中/opt/oracle/instantclient_12_2/network/admin该目录是配置文件的默认位置。请参阅可选的Oracle Net Configuration

更新:如果您安装Instant Client 19.3 RPM软件包,该ldconfig步骤将自动完成。(对于19.3 ZIP文件安装,您仍然需要/可能/应该这样做)

Instant Client 19将连接到Oracle Database 11.2或更高版本,因此,除非对旧版本有特殊要求,否则请使用Instant Client 19。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

java.lang.UnsatisfiedLinkError: ... libocijdbc12.so: libclntsh.so.12.1: 无法启用可执行堆栈,因为共享对象需要:权限被拒绝

libclntsh.so.12.1的CX_Oracle导入错误

运行 TRTorch 示例时“加载共享库时出错:libnvinfer.so.7:无法打开共享对象文件:没有这样的文件或目录”

无法加载Python3 cx-Oracle Oracle Client库:Linux上的“ libclntsh.so”

加载共享库libzstd.so.1时apt-get错误无法打开共享对象文件,无此类文件或目录

加载共享库时出错:libXinerama.so.1:无法打开共享库文件:没有这样的文件或目录

wkhtmltopdf-libfontconfig.so.1:无法打开共享库文件

libaio.so.1:无法打开共享库文件

libpng12.so.0:无法打开共享对象文件:错误的 ELF 类:ELFCLASS64

为什么即使运行ldconfig后,“加载共享库时出错:libssl.so.6无法打开共享对象文件”?

Docker 上的 cx_Oracle:DPI-1047:无法加载 64 位 Oracle 客户端库:“libclntsh.so

AWS Lambda NodeJS12.x-加载共享库时出错:libXrender.so.1

如何修复“ libpng12.so.0:无法打开共享库文件:没有这样的文件或目录”?

ImportError:libGL.so.1:无法打开共享库文件:导入OCC时没有此类文件或目录

svn:加载共享库时出错:libserf-1.so.1:无法打开共享库文件:没有这样的文件或目录

skype:加载共享库时出错:libXss.so.1:无法打开共享库文件:没有这样的文件或目录

mplayer:加载共享库时出错:libvdpau.so.1:无法打开共享库文件:没有这样的文件或目录

Tensorflow 共享库错误;导入错误:libcuda.so.1:无法打开共享对象文件:没有这样的文件或目录

./speaks:加载共享库时出错:libespeak-ng.so.1:无法打开共享对象文件:没有这样的文件或目录

ImportError:libgomp.so.1:无法打开共享库文件:没有这样的文件或目录

OpenJDK的1.8.0_202在CentOS 7:libpng12.so.0:无法打开共享对象文件:

加载共享库时出错:libpng12.so.0

%OS ImportError:libedgetpu.so.1:无法打开共享库文件

执行编译命令时出现gdb错误:libcc1.so:无法打开共享对象文件:没有这样的文件或目录

尝试在 heroku 上使用 pdf2image 时出错:libpng12.so.0:无法打开共享对象文件:没有这样的文件或目录

加载共享库时出错:libevent-1.4.so.2:无法打开共享库文件:

加载共享库时出错:libc.so.6:无法打开共享库文件

mongod(2.8)出现错误“加载共享库时出错:libssl.so.10:无法打开共享库文件:没有这样的文件或目录”

加载共享库时出错:libGLEW.so.1.10:无法打开共享对象文件