首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache Scoop从SQL Server导入合格的表

Apache Scoop从SQL Server导入合格的表
EN

Stack Overflow用户
提问于 2016-06-25 22:52:31
回答 1查看 242关注 0票数 1

当我尝试使用从SQL Server导入表时

代码语言:javascript
复制
sqoop import \
  -m 1 \
 --connect jdbc:sqlserver://Arwen:1433 \
 --username=bods \
 --password=***\
 --table datamart.dbo.fct_txn
 --compression-codec=snappy \
 --as-avrodatafile \
 --warehouse-dir=/user/tkidb

sqoop似乎创建了错误的查询语法。显然,它需要一个不合格的表名。然后支架就可以工作了。如何解决这个问题?

代码语言:javascript
复制
16/06/25 07:44:55 INFO tool.CodeGenTool: Beginning code generation
16/06/25 07:44:57 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM [datamart.dbo.fct_txn] AS t WHERE 1=0
16/06/25 07:44:57 ERROR manager.SqlManager: Error executing statement: com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name 'datamart.dbo.fct_txn'.
EN

回答 1

Stack Overflow用户

发布于 2016-06-25 23:05:10

根据错误日志中的查询:

代码语言:javascript
复制
SELECT t.* FROM [datamart.dbo.fct_txn] AS t WHERE 1=0

问题出在[datamart.dbo.fct_txn]两边的引号中,正确的语法必须是[datamart].[dbo].[fct_txn]datamart.dbo.fct_txn。尝试更改两个字符串:

代码语言:javascript
复制
--connect 'jdbc:sqlserver://Arwen:1433;database=datamart' \
--table fct_txn

如果datamart是您尝试登录的用户的默认数据库,则仅更改表部分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38029722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档