大数跨境
0
0

SAP HANA 的远程数据源访问技能——Smart Data Access

SAP HANA 的远程数据源访问技能——Smart Data Access SAP服务与支持
2025-11-21
2

本文作者:Eason Chen

SAP BTP HANA Team


有的客户反应在 SAP ABAP 系统中不能使用 OPEN SQL 直接连接外部数据库查询数据,作为解决方案我们推荐利用 SAP HANA SDA(Smart Data Access)功能。


SAP HANA SDA(Smart Data Access) 可以在 SAP HANA 中把远程数据源「虚拟化」为本地访问对象。对这些虚拟数据进行查询时就像操作本地表一样——无需迁移数据!


SAP HANA SDA支持下列的远程数据源:


配置方法


安装对应远程数据库相应 ODBC client 到 HANA server 并配置所需文件以建立 ODBC 远程连接。以下我们将以 Oracle 为例进行展开:

1. 下载 odbc driver 到 HANA 服务器

下载Basic Package和ODBC Package (Sqlplus Package可选)


2. 以 root user 安装 odbc driver


3. 安装的默认位置在/usr/lib/oracle/23/client64 目录下。

libsqora.so.23.1在 /usr/lib/oracle/23/client64/lib 目录下。


4. 以HANA <sid>adm用户登录并打开$HOME 目录,即

/usr/sap/<SID>/home。


5. 在/usr/sap/<SID>/home创建tnsnames.ora文件, 文件中维护以下内容:

<oracle host name> 为Oracle DB host name, 请确保可以从HANA 服务器访问Oracle 服务器。可以尝试通过从HANA 服务器ping Oracle 服务器检查。<service name> 可以通过在Oracle 服务器执行 lsnrctl status 去查看。


6. 继续在在/usr/sap/<SID>/home下创建或修改文件 .customer.sh,文件中维护以下内容:


7. 重启HANA以使.customer.sh配置生效。


8. 通过sqlplus验证tnsnames.ora内容的正确性。将

/usr/sap/<SID>/home/tnsnames.ora 

复制到 /usr/lib/oracle/23/client64/lib/network/admin/tnsnames.ora。执行sqlplus 命令以检查是否连接成功。


9. 继续在在/usr/sap/<SID>/home下创建“.odbc.ini”文件。


10. 重启HANA以使.odbc.ini配置生效。


11. 之后通过isql验证.odbc.ini正确性。


12. 最后执行如下SQL以建立SDA remote source。


解决问题


UnixODBC 驱动程序管理器提供了一个名为 isql 的命令行实用程序,用户可通过该工具与.odbc.ini 文件中维护的 ODBC 兼容数据源进行交互。这一简洁的命令行工具相当于一个轻量级 SQL 客户端,支持用户连接至数据源名称(DSN),在操作系统层面执行 SQL 命令并获取返回结果,实现与各类数据库的交互操作。如果在 isql 检验报错,可以根据错误信息检查或联系对应远程数据库的技术支持来协助解决配置问题。

更详细的信息可以参考 SAP NOTE 3560621 - SDA - How To Use isql to Check Smart Data Access Related Issues。


本文中我们以 Oracle 为例介绍了如何在 S/4HANA On Premise 系统中配置 SDA 的详细过程和验证链接以及问题解决的方法。欢迎访问 SAP Community 以获取更多经典使用范例。

【声明】内容源于网络
0
0
SAP服务与支持
发布SAP服务与支持秘籍、客户案例、线上线下活动资讯等内容,为您的数字化转型提供全生命周期的服务和帮助。SAP 社交媒体隐私条款:www.sap.com/sps
内容 661
粉丝 0
SAP服务与支持 发布SAP服务与支持秘籍、客户案例、线上线下活动资讯等内容,为您的数字化转型提供全生命周期的服务和帮助。SAP 社交媒体隐私条款:www.sap.com/sps
总阅读175
粉丝0
内容661