Je suis nouveau sur teradata et aussi sur scala. J'exécute une requête dans Scala qui lance SQL Exception mais la même requête fonctionne correctement dans le studio Teradata.SCALA TERADATA SQL Exception
Ci-dessous la requête:
SELECT COUNT(loan_no)
,field1
,field2
,field3
FROM testdb.loan
WHERE field1 < DATE '2017-09-30'
GROUP BY field1
,field2
,field3
ORDER BY field1
erreur est reçu:
java.sql.SQLException: [Base de données Teradata] [TeraJDBC 15.00.00.20] [Erreur 3707] [SQLState 42000 ] Erreur de syntaxe, quelque chose comme un nom ou un identifiant délimité par Unicode ou un mot-clé 'UDFCALLNAME' ou '(' entre le mot-clé 'FROM' et le mot-clé 'Select')
Code Scala
val queryString = "SELECT COUNT(loan_no),field1,field2,field3 FROM testdb.loan WHERE field1 < DATE '2017-09-30' GROUP BY field1,field2,field3 ORDER BY field1"
val connString =
"jdbc:teradata://test.udaystd.com/,TMODE=TERA,charset=UTF8,
user="+userid+", password="+passwd+", ,charset=UTF8"
val dbdriver = "com.teradata.jdbc.TeraDriver"
val jddf = sqlContext.load("jdbc",
Map("url" -> connString,
"dbtable" -> queryString,
"driver" -> dbdriver))
S'il vous plaît aider.
Pouvez-vous afficher le code Scala qui inclut cette requête? Cela peut être un problème avec la façon dont vous créez le littéral de chaîne. –
pouvez-vous essayer de l'exécuter sans la clause where? –
j'ai essayé cela aussi et le résultat est la même erreur. La seule façon dont cela fonctionne est quand je l'ai comme ((* select from testdb.loan) comme loandata) –