LibreOffice Base与Hive的JDBC连接在执行有效的select语句时返回“Method not supported”

时间:2016-07-11 04:18:38

标签: jdbc hive libreoffice libreoffice-base

我正在尝试获取LibreOffice的Base v5.1.4.2,在Ubuntu v16.04上运行,通过JDBC连接到Hive v1.2.1数据库。我将以下从Maven Central下载的jar添加到LibreOffice的类路径('Tools - > LibreOffice - > Advanced - > Class Path'):

hive-common-1.2.1.jar
hive-jdbc-1.2.1.jar
hive-metastore-1.2.1.jar
hive-service-1.2.1.jar
hadoop-common-2.6.2.jar
httpclient-4.4.jar
httpcore-4.4.jar
libthrift-0.9.2.jar
commons-logging-1.1.3.jar
slf4j-api-1.7.5.jar

然后我重新启动了LibreOffice,打开了Base,选择了“连接到现有数据库” - > 'JDBC'并设置以下属性:

enter image description here

我输入了凭据并单击了“测试连接”按钮,该按钮返回“连接已成功建立”消息。太好了!

在LibreOffice Base UI中,“Tables”面板下的选项显示为灰色。查询选项卡中的选项不是,所以我尝试连接到Hive。

enter image description here

“使用向导创建查询”选项提示输入密码,然后返回“无法检索'airline.on_time_performance'中的字段名称。”

field names could not be retrieved

JDBC连接 能够连接到Hive并列出表,尽管它似乎在检索列时遇到问题。当我尝试执行一个简单的select语句时,“在SQL视图中创建查询”选项会返回一个有点神秘的“Method not supported”消息:

method not supported

错误消息有点模糊。我怀疑我可能错过了一个依赖项,因为我 能够使用JDBC从Java连接到Hive。

我很想知道社区中是否有人让LibreOffice Base与Hive合作。如果是这样,我错过了什么?

1 个答案:

答案 0 :(得分:1)

Apache JDBC驱动程序报告"方法不支持" 用于大多数功能,只是因为Apache提交者不愿意处理简单列表yes/no API调用。咄。
如果您想自己查看,只需download DBVisualizer Free,请配置Apache Hive驱动程序,打开连接,然后检查数据库信息选项卡。

现在,DBVis对于蹩脚的驱动程序非常宽容,但似乎LibreOffice不是。

您可以尝试使用Cloudera Hive JDBC driver作为替代方案。你只需要注册" - 即保留您的电子邮件地址 - 以访问下载URL;它的部署比Apache的更简单(基于Simba SDK,所有特定于Hive的JAR都捆绑在一起),它适用于任何BI工具。所以希望它也适用于LibreThing。

免责声明:我希望Apache发行版有一个合适的JDBC驱动程序,任何人都可以使用它而不是依赖于" free"商业软件。但就目前而言,这只是一个愿望。