gpt4 book ai didi

sql-server - 当表在SQL Server上包含点时,由错误的FROM子句引起的Sqoop无效对象名称错误

转载 作者:行者123 更新时间:2023-12-02 21:31:27 25 4
gpt4 key购买 nike

我必须在具有现有MSSQL数据库结构的Hadoop上使用Sqoop。

所有权限似乎都还可以。在SQL Studio中使用授权的用户john,正确的工作查询如下所示:

SELECT TOP 1000 [ksttyp_id]
,[orgunit_nr]
,[ksttyp_nr]
,[bezeichnung]
FROM [egec01_t].[integris].[kst_typ]

我运行此导入命令:
sqoop import --connect "jdbc:sqlserver://example.com;username=john;password=1234;database=egec01_t" --table "integris.kst_typ" --target-dir /home/sqoop/ -as-textfile

预期的FROM子句是:
FROM [egec01_t].[integris].[kst_typ]

相反,我得到:
Executing SQL statement: SELECT t.* FROM [integris.kst_typ] AS t WHERE 1=0

ERROR manager.SqlManager:错误执行语句:com.microsoft.sqlserver.jdbc.SQLServerException:无效的对象名称'integris.kst_typ'。

我不确定这是否与Sqoop或SqlManager或CodeGenTool有关?

我尝试了一个通用查询来列出所有数据库:
sqoop list-databases...

相同的问题:

错误管理器。CatalogQueryManager:无法列出数据库
com.microsoft.sqlserver.jdbc.SQLServerException:无效的对象名称'SYS.DAT ...


在最底端,使用点而不是例如点似乎是一个问题下划线:
sqoop unable to import table with dot

但不幸的是,我被迫使用现有结构。

我发布了一个问题,但尚未得到任何回应:
https://issues.apache.org/jira/browse/SQOOP-2706

可能相关的问题:
https://issues.apache.org/jira/browse/SQOOP-476

是否有解决方案,可能会转义表名?

最佳答案

你有没有尝试过

--table "egec01_t.integris.kst_typ"

关于sql-server - 当表在SQL Server上包含点时,由错误的FROM子句引起的Sqoop无效对象名称错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34048416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com