【发布时间】:2016-07-11 22:50:19
【问题描述】:
我正在尝试获取在 Ubuntu v16.04 上运行的 LibreOffice 的 Base v5.1.4.2,以通过 JDBC 连接到 Hive v1.2.1 数据库。我将从 Maven Central 下载的以下 jars 添加到 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,选择 'Connect to an existing database' -> 'JDBC' 并设置以下属性:
我输入凭据并单击“测试连接”按钮,返回“连接已成功建立”消息。太好了!
在 LibreOffice Base UI 中,“表格”面板下的选项显示为灰色。查询选项卡中的选项没有,所以我尝试连接到 Hive。
“使用向导创建查询”选项提示输入密码,然后返回“无法检索来自 'airline.on_time_performance' 的字段名称。”
JDBC 连接是能够连接到 Hive 并列出表,但检索列似乎有问题。当我尝试执行一个简单的 select 语句时,“在 SQL 视图中创建查询”选项返回一个有点神秘的“不支持方法”消息:
错误信息有点含糊。我怀疑我可能缺少一个依赖项,因为我 能够使用 JDBC 从 Java 连接到 Hive。
我很想知道社区中是否有人拥有与 Hive 一起使用的 LibreOffice Base。如果是这样,我错过了什么?
【问题讨论】:
-
你这里有几十个版本的 JDBC 驱动程序已经过时了。我发现 2.5.4 没有太多麻烦。可能您正在使用的那个已经过时了。 Java JDBC 版本。更新。
-
鉴于错误“字段名称...无法检索”,该版本的 JDBC 驱动程序不支持
DatabaseMetaData.getColumns。
标签: jdbc hive libreoffice libreoffice-base