我在Node JS中有一个应用程序,它使用Oracle云匿名数据库,该数据库目前在本地与我的应用程序完美地协同工作。我想在Azure应用程序服务上部署此应用程序,因此我使用此Microsoft Doc Link进行了跟踪。我能够部署我的项目,它正在服务器上运行,但不幸的是,它无法连接到我的oracle and数据库
在部署时,我得到了一些日志,上面写着
** Node-oracledb 4.2.0 installed for Node.js 14.17.4 (linux, x64)
oracledb **
oracledb ** To use node-oracledb:
oracledb ** - Oracle Client libraries (64-bit) must be configured with ldconfig or LD_LIBRARY_PATH
oracledb ** - To get libraries, install an Instant Client Basic or Basic Light package from
oracledb ** https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html
oracledb **
oracledb ** Installation instructions: https://oracle.github.io/node-oracledb/INSTALL.html
oracledb 因此,不知何故,我明白了我需要在Linux服务器上配置Oracle客户端,所以在花了几个小时后,我得到了一个解决方案,其中我需要设置路径这里是Oracle Doc,但即使这种设置对我来说不起作用,仍然无法连接它。此外,我还注意到,一旦我重新部署或重新启动我的应用程序服务,设置就会消失
对于oracle,我有数据库名称、密码、连接字符串,并且oracle还为我提供了具有tnsname和cwaller.sso的waller.zip
我已经花了3天来理解这个问题,如果有人能帮助我就太好了,如果你需要更多的细节来理解我的问题,请发表评论
发布于 2021-08-31 23:01:34
这不是一个完整的答案(例如,它太大了,无法进行评论)。
首先升级到node-oracledb的最新版本,例如5.2。
听起来您知道如何处理钱包文件,但这里是Connecting to Oracle Cloud Autonomous Databases上的node-oracledb文档。如果没有默认位置的钱包文件,可以(使用node-oracledb5)使用initOracleClient({configDir:'/your/path'})来指示它们的位置。
最后一步是将LD_LIBRARY_PATH设置为即时客户端库的位置。搜索Azure文档了解如何执行此操作-我没有使用此环境的经验。
https://stackoverflow.com/questions/68994601
复制相似问题