2016-05-20 15 views
0

Der Versuch, Daten aus SAP Hana mithilfe der Tabelle zu importieren, die einen Schrägstrich '/' enthält. Ich bin mir nicht sicher, ob das Entkommen des '/' funktioniert.Verwendung von Sqoop1 mit SAP Hana mit einem Tabellennamen, der den Schrägstrich '/' enthält, verursacht den Fehler

Mein Verbindungsversuch:

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

erzeugt den folgenden Fehler:

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)

Antwort

0

Aktualisiert auf die neueste Version des JDBC-Treibers für SAP Hana

0

Um mit Schrägstrichen Objektnamen zu verwenden (oder andere Sonderzeichen) Sie sie in doppelte Anführungszeichen setzen müssen (").

Da Sie scheinbar eine Befehlszeilenschnittstelle verwenden und den Tabellennamen als Argument übergeben möchten, müssen Sie dieses Zitat höchstwahrscheinlich umgehen.

Probieren Sie etwas wie

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

(noch nur eine Zeile!) Und sehen Sie, wie das geht.

+0

Dank Lars. Leider die Verwendung der "vor und nach dem Tabellenname erzeugt den gleichen Fehler. – billz

+0

Hmm ... Ok, ich habe keine sqoop zum testen. Aber gehen Sie und versuchen Sie es ohne die Backslahes vor den Anführungszeichen. –

+0

Gleicher Fehler :(Schätzen Sie die Hilfe obwohl. – billz

0

nicht sicher, aber vielleicht kann man nur versuchen, Tabellennamen mit doppelten Anführungszeichen (")

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

Können Sie so etwas wie --table versuchen "XXX einzuschließen". \" XYZ \“