0.简介
Oracle 网关是个很牛的东西,他可以查询如:DB2,SYBASE,SQL SERVER ,也可以用ODBC 的方式来查询只要是用ODBC方式实现的数据库访问方式。
咋们看看,如何使用ODBC来访问Drill (大数据时代,最值得期待的查询工具).
1. 下载 Drill 的ODBC驱动
下载地址: https://drill.apache.org/docs/installing-the-driver-on-windows/ 选择适合自己的.
2.安装并配置drill 的ODBC
在C:\Windows\System32 目录下,如下图:
点击测试,如果没有问题,那就OK .
3. 在oracle 的网关中添加监听器
init+<SID>.ORA ,在%ORACLE_HOME%\hs\admin\
主要initdrillodbc.ora内容:
HS_FDS_CONNECT_INFO = drillodbc
HS_FDS_TRACE_LEVEL = off
HS_FDS_SUPPORT_STATISTICS=FALSE
HS_RPC_FETCH_REBLOCKING= OFF
HS_FDS_FETCH_ROWS = 1
HS_AUTOREGISTER = true
4.在监听器中添加
在%ORACLE_HOME%\network\admin\
在listener.ora中添加:
(SID_DESC =
(PROGRAM = dg4odbc)
(SID_NAME = drillodbc)
(ORACLE_HOME = D:\app\rocky\product\11.2.0\dbhome_1)
(ENVS="LD_LIBRARY_PATH = D:\app\rocky\product\11.2.0\dbhome_1\LIB")
)
5. 在服务中添加
在%ORACLE_HOME%\network\admin\
在tnsnames.ora.中添加如下:
drillodbc =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST = 本机IP/主机名 )(PORT=1521))
(CONNECT_DATA= (SID = drillodbc))
(HS=OK)
)
6.在Oracle中创建database dblink
主要语句是:
create public database link skydrillodbc connect to "admin" identified by "admin"
using '(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP) (HOST = sky) (PORT =1521) )
(CONNECT_DATA = (SID = skydrillodbc))
(HS=OK))';
7.使用连接查询:
--SELECT * FROM "sys"."drillbits"@"drillodbc";
--SELECT * FROM "cp"."employee.json"@drillodbc ;
都可以得到结果的,确实是这样的哦。。。