如何解决";错误:DPI-1047:找不到64位Oracle客户端库"";我在尝试运行do



我正在尝试将一个节点应用程序与远程oracle数据库对接,尝试仅使用typeorm数据源进行连接,即使运行本地"npm启动";但当我运行docker compose时,我得到:错误:DPI-1047:找不到64位Oracle客户端库错误。

我使用的是WindowsSO,已经尝试过使用linux oracle镜像,但我甚至没有让oracle运行。

FROM node:16 AS Development

ENV NODE_ENV=development
ENV CONNECT_STRING_DEV="dev=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = ******)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = ********)))"
WORKDIR /proj-inove/server
COPY package*.json /proj-inove/server
COPY yarn.lock /proj-inove/server
RUN npm install
RUN npm rebuild oracledb
# copia tudo e coloca na pasta raiz WORKDIR
COPY . /proj-inove/server
WORKDIR /opt/oracle
RUN wget https://download.oracle.com/otn_software/nt/instantclient/216000/instantclient-basic-windows.x64-21.6.0.0.0dbru.zip && 
unzip instantclient-basic-windows.x64-21.6.0.0.0dbru.zip && rm -f instantclient-basic-windows.x64-21.6.0.0.0dbru.zip && 
cd /opt/oracle/instantclient* && rm -f *jdbc* *occi* *mysql* *mql1* *ipc1* *jar uidrvci genezi adrci && 
echo /opt/oracle/instantclient* > /etc/ld.so.conf.d/oracle-instantclient.conf && ldconfig
WORKDIR /opt/oracle/instantclient*
COPY . /proj-inove/server/node_modules/oracledb/build/Release
WORKDIR /proj-inove/server/node_modules/oracledb/build/Release/network/admin
RUN echo ${CONNECT_STRING_DEV} > tnsnames.ora
EXPOSE 8080
CMD [ "npm", "start" ]

容器是Linux,因此安装Linux版本的Instant Client,而不是Windows版本。

查看诸如https://stackoverflow.com/a/59017157/4799035详细信息。它还链接到由两部分组成的博客文章系列Docker for Oracle Database Applications in Node.js and Python,其中展示了各种安装方法。

最新更新