0

Apache Drill 1.2 增加了在查询中包含 JDBC 关系源的令人兴奋的特性。我想包括 Microsoft SQL Server。

因此,按照文档,我将 SQL Server jar sqldjbc42.jar(最新的 MS JDBC 驱动程序)复制到了正确的第 3 方目录中。

我成功添加了存储。

配置是:

{
  "type": "jdbc",
  "driver": "com.microsoft.sqlserver.jdbc.SQLServerDriver",
  "url": "jdbc:sqlserver://myservername",
  "username": "myusername",
  "password": "mypassword",
  "enabled": true
} 

作为“mysqlserverstorage”

但是,运行查询失败。我试过了:

select * from mysqlserverstorage.databasename.schemaname.tablename

(当然我在这里使用了真实的现有表格而不是占位符)

错误:

org.apache.drill.common.exceptions.UserRemoteException:验证错误:从第 2 行第 6 列到第 2 行第 17 列:未找到表“mysqlserverstorage.databasename.schemaname.tablename”[错误 ID:f5b68a73-973f-4292- bdbf-54c2b6d5d21e 在 PC1234:31010]

select * from mysqlserverstorage.`databasename.schemaname.tablename`

错误:

org.apache.drill.common.exceptions.UserRemoteException:验证错误:读取表时出现异常 [错误 ID:PC1234:31010 上的 213772b8-0bc7-4426-93d5-d9fcdd60ace8]

有没有人成功配置和使用这个新功能?

4

2 回答 2

1

将您的查询构造为,

select * from storagename.schemaname.tablename

这将适用于 sqljdbc4.X,因为它适用于我。

于 2016-03-21T16:59:30.860 回答
1

使用存储插件配置已报告成功,例如

{
  type: "jdbc",
  enabled: true,
  driver: "com.microsoft.sqlserver.jdbc.SQLServerDriver",
  url:"jdbc:sqlserver://172.31.36.88:1433;databaseName=msdb",
  username:"root",
  password:"<password>"
}

在预发布的Drill 1.3上并使用sqljdbc41.4.2.6420.100.jar

于 2015-11-11T18:22:22.833 回答