热门文章
联系我们
联系人:寇先生
微信公众号:
SAP HANA Smart Data Access(二)——SDA数据源驱动的安装与配置
知识分享不易,转载请标注来源:http://www.blenderkou.top/contents/2/4239.html 版权申明:欢迎转载,但请注明出处。 一些博文中的参考内容因时间久远找不到来源了没有注明,如果侵权请联系我删除。
转载,原文链接:
https://blogs.sap.com/2014/02/28/sap-hana-smart-data-access-二-sda数据源驱动的安装与配置/
引言
在“SAP HANA Smart Data Access(一)——初识SDA”一文中,我们介绍了SDA的基本结构和框架,学习了如何在HANA Studio中添加远程数据源。为了成功连接到远程数据源,在HANA Studio中添加数据源之前,我们必须先在SAP HANA服务器端完成ODBC驱动管理器和ODBC驱动的安装与配置,并保证连接畅通。不同数据源驱动的安装配置过程基本一致,只是细节略有不同。本文以Oracle数据库为例讲解如何安装和配置SDA数据源驱动。
安装unixODBC驱动管理器
SDA使用ODBC与远程数据源连接,所以需要在SAP HANA服务器端安装ODBC驱动管理器unixODBC. unixODBC软件包可从http://www.unixodbc.org/下载。SQL Server数据源需要unixODBC 2.3.0版本(更高版本不适用),Oracle及其他数据源则要求2.3.1或以上版本。
1.下载相应版本的unixODBC软件包,文件名为unixODBC-x.x.x.tar.gz,x表示版本号;
2.以root用户登录SAP HANA服务器,解压下载的unixODBC软件包,进入解压目录,依次执行:
./configure
make
make install
3.一切顺利的话,unixODBC就已经安装好了,可以用isql –version查看版本信息;若有错误,请根据错误信息排除,比如unixODBC依赖的某些组件尚未安装。
安装数据源ODBC驱动
目前,SAP HANA SDA支持的数据源有:SAP HANA、SAP Sybase ASE、Teradata database、Oracle、MS SQL Server、Hadoop等。数据库产品都提供了各自的ODBC驱动,如Oracle,可到其官网http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html下载对应版本的Instant Client。至于Hadoop数据源,SDA可通过hive与Hadoop进行数据交互(关于SDA连接Hadoop数据源后续文章将做详细介绍),SAP官方推荐使用Simba提供的HiveODBC驱动与hive连接,Simba HiveODBC可至Simba官网下载:http://www.simba.com/connectors/apache-hadoop-hive-odbc.
下载数据源驱动后按照数据源的安装文档安装数据源驱动。此处以Oracle为例,安装Oracle的ODBC驱动需要下载两个安装包:instantclient-basic-linux.x64-xx.x.x.x.x.zip和instantclient-odbc-linux.x64-xx.x.x.x.x.zip, x表示版本号。用unzip命令解压这两个文件到同一目录,默认是instantclient_xx_x。进入目录查看文件libsqora.so.xx.x,该文件是Oracle的ODBC 驱动文件。到这里,Oracle的ODBC数据源驱动就安装好了。
配置ODBC数据源
安装好ODBC数据源后需要创建ODBC配置文件,并设置一些环境变量。同样,以Oracle为例:
1. 以SAP HANA管理员用户(sidadm)登陆服务器,sid是SAP HANA的示例ID;
2. 进入sidadm的家目录,创建ODBC配置文件,文件名为.odbc.ini;
3. 用vim编辑.odbc.ini文件,内容格式如下:
[ORCL_DSN]
Driver=/path/to/driver/ libsqora.so.xx.x
ServerName=ORCL
其中,ORCL_DSN是ODBC数据源的名称,ODBC Manager通过该名称找到数据源的连接信息;Driver关键字用于指定ODBC驱动文件;ServerName是Oracle tnsnames.ora文件中定义的Oracle服务器名称。对于其他类型的数据源,此处关键字各有不同,如SAP HANA用ServerNode指定数据库的IP和端口,MSSQL Server用Server和Database指定数据库连接信息。
4. 对于Oracle数据源,在sidadm的家目录下创建tnsnames.ora,并用vim编辑,内容格式如下:
ORCL=
( DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = <host_ip>)(PORT = 1521))
(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME =orcl))
)
5. 在SAP HANA的环境变量设置脚本hdbenv.sh(在$DIR_INSTANCE指定的目录下)中设置以下环境变量:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<driver_dir>
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export ODBCINI=$HOME/.odbc.ini
export TNS_ADMIN=~/ (For Oracle only)
这里需要特别注意的是LD_LIBRARY_PATH变量,数据源驱动所依赖的库文件(包括数据源驱动软件包中的库文件和unixODBC的库文件)是到这个变量指定的目录下依次查找的。如果数据源驱动依赖的库文件(或间接依赖的库文件)所在目录不包括在LD_LIBRARY_PATH变量中,那么ODBC Manager就会报错说找不到库文件。
6. 以sidadm登陆,并执行source $DIR_INSTANCE/hdbenv.sh,然后用isql –v <DSN> 连接数据源,如果成功连接,则说明SAP HANA服务器端到远程数据源的ODBC连接配置完成;若出错,则根据错误信息排错,下一小节将介绍一些错误信息及其解决方法。
7. 重启HANA.
Troubleshooting
1. TNS_ADMIN设置错误
报错:
[08004][unixODBC][Oracle][ODBC][Ora]ORA-12154: TNS:could not resolve the connect identifier specified
分析:错误是Oracle报出的无法解析连接信息,这很容易让人误以为是Oracle端配置的问题。但实际上这是SAP HANA服务器端TNS_ADMIN环境变量未设置或设置错误导致的,TNS_ADMIN指定了tnsnames.ora所在的路径, 如果TNS_ADMIN错误,那么在.odbc.ini文件中定义的ServerName将无法得到解析,故而报错;
解决方法:在hdbenv.sh中设置TNS_ADMIN为sidadm的家目录,然后重启SAP HANA。
2. LD_LIBRARY_PATH设置错误
报错:
[01000][unixODBC][Driver Manager]Can’t open lib ‘/path/to/driver/libsqora.so.12.1’ : file not found
[ISQL]ERROR: Could not SQLConnect
分析: 这个错误是ODBC驱动管理器报出的,说指定的驱动文件找不到,但是这个文件明明存在。用ldd命令查看驱动文件的依赖组件,得到以下内容:
可以看到,驱动文件所依赖的libclntsh.so.12.1无法找到,该文件是和驱动文件在同一目录下,但是由于环境变量LD_LIBRARY_PATH没有包含驱动文件所在的目录,所以ODBC驱动管理器无法找到该依赖文件,unixODBC也就无法加载驱动文件,最终报错说无法找到驱动文件。
解决方法:在hdbenv.sh中设置环境变量LD_LIBRARY_PATH,使其包含驱动文件所在目录。
创建数据源
在确认用isql能够成功登陆远程数据库之后就可以用“SAP HANA Smart Data Access(一)——初识SDA”中介绍的方法在HANA Studio中创建远程数据源。数据源创建成功之后就可以通过HANA Studio查看远程数据源中的表,查看结果如下图所示:
总结
本文以Oracle数据源为例,详细介绍了如何在SAP HANA服务器端安装和配置ODBC驱动管理器及指定数据源的ODBC驱动,并简单描述了配置过程中容易出现的错误及解决办法。SDA支持的其他类型数据源的配置方法大致相同,细节差别在文中有所提及,后续文章中也会有所介绍。
想获取更多SAP HANA学习资料或有任何疑问,请关注新浪微博@HANAGeek!我们欢迎你的加入!
转载本文章请注明作者和出处http://scn.sap.com/community/chinese/hana/blog/2014/02/28/sap-hana-smart-data-access-%E4%BA%8C-sda%E6%95%B0%E6%8D%AE%E6%…,请勿用于任何商业用途。
参考文献
SAP HANA Administrator Guide 6.1.1章节:http://help.sap.com/hana/SAP_HANA_Administration_Guide_en.pdf
扫描二维码,关注我的公众号,第一时间获取文章!
知识分享不易,转载请标注来源:http://www.blenderkou.top/contents/2/4239.html 版权申明:欢迎转载,但请注明出处。 一些博文中的参考内容因时间久远找不到来源了没有注明,如果侵权请联系我删除。
上一篇
SAP HANA Smart Data Access(三)——如何利用SDA通过Hive访问Hadoop数据
下一篇
SAP HANA Smart Data Access(一):初识SDA