在上一篇博文中介绍了HANA通过"Smart Data Access"访问SAP Sybase IQ 16的配置示例,本文将向大家介绍访问SAP ASE的配置。具体的环境如下:
* SAP HANA 1.0 SP06 Revision 69
* ASE 15.7 SP110 For Linux x86_64 , 运行了tpchdb数据库
* 假设HANA数据库实例所在的机器上已经安装了ASE 15.7 SP110的客户端,安装目录为:/opt/sybase
下面是具体的配置步骤:
(1) 修改环境变量
su - hdbadm
vi $HOME/.customer.sh
在这个文件中增加如下内容:
export LD_LIBRARY_PATH=/opt/sybiq/16.0/IQ-16_0/lib64:/opt/sybase/DataAccess64/ODBC/lib:$LD_LIBRARY_PATH
(2) 增加ODBC数据源
su - hdbadm
vi $HOME/.odbc.ini
在文件中增加如下内容:
[ODBC Data Sources]
IQ16_DEMO=SQLAnywhere 16.0
ASE_DEMO=Adaptive Server Enterprise
[IQ16_DEMO]
ServerName=HAIQ-DB-01_iqdemo
CommLinks=tcpip(host=192.168.0.199;port=2638)
Driver=libiqodbc.so
[ASE_DEMO]
Server=192.168.0.199
Port=5000
Database=TPCHDB
Driver=libsybdrvodb.so
(3) 重启HANA
用hdbadm用户重新登陆,使得第一步修改的环境变量有效
./HDB stop
./HDB start
(4) 创建远程数据源
CREATE REMOTE SOURCE DS_ASE_DEMO ADAPTER ASEODBC CONFIGURATION 'DSN=ASE_DEMO' WITH CREDENTIAL TYPE 'PASSWORD' USING 'user="tpchuser";password="tpchpasswd"'
(5) 创建虚拟表
CREATE VIRTUAL TABLE vt_customer AT DS_ASE_DEMO."tpchdb"."tpchuser"."customer"
注意:由于ASE的用户名、数据库名、表名等区分大小写,而HANA会把这些名称自动转换为大写,为了禁止HANA进行这种转换需要加上""括起这些名称,否则会报如下错误:
* 476: invalid remote object name: Unable to retrieve remote metadata
(6) 访问虚拟表
SELECT top 10 * from vt_customer
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
11 | |
10 | |
7 | |
6 | |
4 | |
4 | |
3 | |
3 | |
3 | |
3 |