从 docker 容器连接到 HANA 数据库

问题描述 投票:0回答:1

我需要从 docker 容器连接到 SAP HANA 数据库。 这是asp net core web api项目

我将这些行添加到我的 dockerfile 中:

# Create hdbclient directory and copy hdbclient folder to the container
RUN mkdir -p /usr/sap/hdbclient
COPY ../hdbclient /usr/sap/hdbclient

# Set HDBDOTNETCORE environment variable
ENV HDBDOTNETCORE /usr/sap/hdbclient/dotnetcore

如果没有这些行,在调试时运行时它将无法工作,但是有了这些行,一切都可以。 问题是,发布 docker image hana 连接不起作用后,没有异常或任何执行都停止于此:

HanaConnection conn = new(connectionString);

并且挂起,没有错误,没有消息,什么也没有。

它可能是什么?我怎样才能尝试进一步调查它?

docker dockerfile hana sapb1 sap-business-one-di-api
1个回答
0
投票

我在 Linux 容器中运行适用于 dotnet core 6 的 SapHana 客户端连接器时遇到同样的问题。

我已经从SAP官方链接下载了Sap.Data.Hana.Core.v2.1.dll和libadonetHDB.so:https://tools.hana.ondemand.com/#hanatools

我在集群中注意到,应用程序第一次启动大约 5/10 分钟后,当您调用时,该作业将被用来执行一些操作:

using (HanaConnection hanaConnection = new HanaConnection(connectionString))
{ ... }

我附上一张图片来证明 CPU/内存在那段时间很忙。 第一次初始化后,连接器将在几秒钟内回复,不会出现此问题。

如果我在 macOS 上使用 libadonetHDB.dylib,则此问题无法复制。

似乎是 Linux 库的问题...

希望这会有所帮助。

戴夫。

© www.soinside.com 2019 - 2024. All rights reserved.