【发布时间】:2015-10-26 17:00:49
【问题描述】:
在嵌入式模式下使用 Apache Drill v1.2 和 Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit。
我很好奇是否有人成功地将 Apache Drill 连接到 Oracle 数据库。我已经使用以下配置(每个文档)更新了drill-override.conf:
drill.exec: {
cluster-id: "drillbits1",
zk.connect: "localhost:2181",
drill.exec.sys.store.provider.local.path = "/mypath"
}
并将ojdbc6.jar 放入\apache-drill-1.2.0\jars\3rdparty。我可以成功创建存储插件:
{
"type": "jdbc",
"driver": "oracle.jdbc.driver.OracleDriver",
"url": "jdbc:oracle:thin:@<IP>:<PORT>:<SID>",
"username": "USERNAME",
"password": "PASSWORD",
"enabled": true
}
但是当我发出如下查询时:
select * from <storage_name>.<schema_name>.`dual`;
我收到以下错误:
Query Failed: An Error Occurred
org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: From line 1, column 15 to line 1, column 20: Table '<storage_name>.<schema_name>.dual' not found [Error Id: 57a4153c-6378-4026-b90c-9bb727e131ae on <computer_name>:<PORT>].
我尝试查询其他架构/表并获得类似的结果。我也尝试连接到 Teradata 并得到同样的错误。有没有人有建议/遇到类似问题?
【问题讨论】:
-
我对 Oracle DB 了解不多。你不认为数据库名称也应该在查询中。
-
DB/SID 在插件的 URL 中提供。我尝试将其包含在查询中,但这不会改变结果,并且将其从存储插件中拉出会导致创建错误。
-
你试过 select * from
. dual;我得到了一些像这样的重复键错误:scalerlabs.io/blog/… -
use <storage_name>然后show tables为你工作?
标签: jdbc oracle10g rdbms apache-drill