使用包含正斜杠“/”的 table 名称将 Sqoop1 与 SAP Hana 一起使用会导致错误

Using Sqoop1 with SAP Hana using a table name that contains forward slash '/' causes error

尝试使用包含正斜杠“/”的 table 从 SAP Hana 导入数据。不确定转义“/”是否有效。

我的连接尝试:

sqoop import –connect jdbc:sap://mysaphost:30015 --driver com.sap.db.jdbc.Driver --username xxxxxx --password xxxx --table xxx./xxx/xxx

产生以下错误:

2016-05-20 13:12:23,098 ERROR - [main:] ~ Error executing statement: com.sap.db.jdbc.exceptions.JDBCDriverException: SAP DBTech JDBC: [257]: sql syntax error: incorrect syntax near "/": line 1 col 24 (at pos 24) (SqlManager:43) com.sap.db.jdbc.exceptions.JDBCDriverException: SAP DBTech JDBC: [257]: sql syntax error: incorrect syntax near "/": line 1 col 24 (at pos 24)

为了使用带有斜杠(或其他特殊字符)的对象名称,您需要将它们括在双引号 (") 中。

由于您似乎使用命令行界面并希望将 table 名称作为参数传递,因此您很可能必须转义这些引号。

试试

sqoop import –connect jdbc:sap://mysaphost:30015 --driver com.sap.db.jdbc.Driver 
--username xxxxxx --password xxxx --table \"xxx./xxx/xxx\"

(仍然只有一行!)看看结果如何。

不确定,但也许您可以尝试用双引号 (")

将 table 名称括起来
sqoop import –connect jdbc:sap://mysaphost:30015 --driver com.sap.db.jdbc.Driver --username xxxxxx --password xxxx --table xxx."/xxx/xxx" 

你能试试 --table "XXX".\" XYZ\"

已更新至 SAP Hana 的最新版本 JDBC 驱动程序。