云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

消息队列_企业数据库_最新活动

小七 141 0

saphana服务现在可用了,关于如何从本地SQL客户机连接到云中的HANA数据库存在一些问题。这有点复杂,因为所有到HANA服务的连接都必须加密。在本文中,我将介绍一些常见的场景。你不必全部阅读:只需找到你需要的部分。

注意:如果你正在构建一个XSA或cloudfoundry应用程序,将你的应用程序绑定到一个HANA服务代理,你可以在这里停止阅读。ServiceBroker为您提供了一个逻辑连接,您无需执行任何其他操作。此博客仅适用于使用SQL客户端/服务器连接的独立客户端。

场景顺序为:

没有证书验证的TCP/IP连接(用于测试)生产用TCP/IP连接WebSocket连接,用于阻止传出TCP/IP连接的组织。

感谢Bjoern Brencher、Akshay Nayak、Tom Turchioe的贡献。

对于如何使用SAP Common Crypto库进行连接的更深入的讨论,我推荐Philip Mugglestone在SAP HANA Academy的清晰详细的逐步视频YouTube频道

让我们从你需要的标识符开始。SAP HANA Service Dashboard显示有关ta HANA数据库的基本信息。特别注意端点和ID.

–端点是TCP/IP连接所需的主机和端口。它通常是这样的形式宙斯.哈纳.普罗德….ondemand.com网站:端口,在这里我将它写为宙斯·哈纳…ondemand.com网站:端口。–数据库的ID是一个GUID,例如45fx7b7a7-a2d9-ad49-84ab-89106146b944.

此外,您还需要知道用户ID和密码。我将通过HANA\ U用户和HANA\ U密码指出这些情况。

我将浏览三个案例,每个案例都包括其他案例。首先,我将研究不需要指定本地证书的TCP/IP连接(在Windows上测试连接和连接)。然后我将演示如何使用WebSocket进行连接。然后我将介绍如何管理证书以确保连接的安全。警告一句:我不是安全专家,有时证书、密钥等的名称会出错。这是一篇满足短期需要的博文,不是官方文件!

在每种情况下,我都会先显示一个hdbsql命令,人工智能怎么样,然后从另一个界面显示一个连接示例,以显示关键字的工作方式。

要使用WebSocket,您需要至少2.3.106版本的HANA客户端。可从以下网站下载https://tools.hana.ondemand.com/#hanatools从SAP软件下载。

第一步:没有证书验证的TCP/IP连接

这里是使用TCP/IP的hdbsql连接。它显示端点出现的位置,以及您需要指定加密的连接。为了便于阅读,本例分成几行。

n选项指定主机和端口,-u和-p表示用户名和密码,-e选项指定加密连接。-ssltrustcert选项跳过主机证书的验证,不建议在生产中使用。这里我们只是出于测试目的使用它,以验证是否正确指定了其他连接参数。

如果您使用的是Windows,则默认情况下,大数据治理平台,HANA客户端使用Microsoft加密库,并且默认情况下,Windows证书存储区包含验证HANA服务密钥所需的证书,因此,对于Windows用户,您可以在测试和生产中使用以下内容:

对于编程接口,只需使用与每个hdbsql选项对应的关键字,这些选项都记录在《HANA客户端接口编程参考》中。这是一个节点.js示例:

这里是一个python示例。注意**encrypt**和**sslValidateCertificate**关键字的值是字符串,而不是布尔值。

同样,如果您在Windows上,并且应用程序可以访问证书存储,则可以忽略sslValidateCertificate关键字,客户端将在Microsoft证书存储中查找正确的证书。

管理证书

SAP云平台使用Digicert证书。如果您的证书存储没有正确的证书,则可能需要下载该证书并将其存储在文件中。这里有两种方法可以获得合适的证书。

您可以从https://www.digicert.com/digicert-root-certificates.htm。要使用的是DigiCert全局根CA,Serial#:08:3B:E0:56:90:42:46:B1:A1:75:6A:C9:59:91:C7:4A,指纹:A8985D3A65E5E5C4B2D7D66D40C6DD2FB19C5436.

如果您使用的是OpenSSL加密库(Linux和Mac OS上的默认值),大数据的前景,则需要将此文件转换为客户端可以使用的"pem"格式。复制文件DigiCertGlobalRootCA.crt文件到~/.ssl,然后运行此命令生成一个pem格式的文件(为了可读性拆分为多行):

或者,用云服务器,您可以从SAP云平台驾驶舱获得一个正确的"pem"格式的证书。CA Digicert证书存储在cloudfoundry服务绑定中,以便在CF应用程序中使用。您可以在这里看到证书:只需选择证书本身的文本(整个字符串)并将其存储在一个文件中:比如~/.ssl/DigiCertGlobalRootCA.pem公司. 换行符可以保留或删除;这没有任何区别。

这里是一个使用此证书的hdbsql连接字符串:

这里是证书中的关键字节点.js连接方式:

其他语言的连接参数相似。

如果您正在运行节点.js云铸造上的应用程序,您无法访问文件系统,因此不能在sslTrustStore关键字中指定文件。代替上面给出的路径,您可以将证书指定为一个字符串,如下所示(证书的主体已被替换为"…"这里:您应该将整个证书包含为一个字符串)。

WebSocket connections

一些组织阻止TCP/IP端口进行传出连接。这些情况下的解决方案是使用WebSocket连接,它通过HTTP连接运行TCP/IP。

要指定WebSocket连接,请在HANA服务仪表板上提供信息,您需要对上面的TCP/IP示例进行以下更改: