Apache Drill 1.2和SQL Server JDBC

时间:2015-10-27 14:18:53

标签: sql-server jdbc apache-drill

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

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

我成功添加了存储空间。

配置为:

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

as“mysqlserverstorage”

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

select * from mysqlserverstorage.databasename.schemaname.tablename

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

错误:

  

org.apache.drill.common.exceptions.UserRemoteException:VALIDATION ERROR:从第2行第6列到第2行第17列:未找到表'mysqlserverstorage.databasename.schemaname.tablename'[错误ID:f5b68a73-973f PC1234上的-4292-bdbf-54c2b6d5d21e:31010]

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

错误:

  

org.apache.drill.common.exceptions.UserRemoteException:VALIDATION ERROR:读取表格时出现异常[错误ID:213122b8-0bc7-4426-93d5-d9fcdd60ace8 on PC1234:31010]

是否有人在配置和使用此新功能方面取得了成功?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

构造您的查询,

从storagename.schemaname.tablename

中选择*

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