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]
是否有人在配置和使用此新功能方面取得了成功?
答案 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>"
}
答案 1 :(得分:1)
构造您的查询,
从storagename.schemaname.tablename
中选择*这适用于sqljdbc4.X,因为它适用于我。