使用Impala ODBC驱动程序查询参数 [英] Query parameters with Impala ODBC driver

查看:160
本文介绍了使用Impala ODBC驱动程序查询参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Cloudera提供的Impala ODBC驱动程序.我似乎无法正确使用查询参数.例如:

I'm using the Impala ODBC driver provided by Cloudera. I can't seem to use query parameters correctly. For instance:

OdbcCommand command = DbConnection.CreateCommand();
command.CommandText = "INSERT INTO TABLE test VALUES(?, ?)";
command.Parameters.Add("key", OdbcType.VarChar).Value = "csharp";
command.Parameters.Add("val", OdbcType.VarChar).Value = "test";
command.ExecuteNonQuery();

引发以下异常.

{"ERROR [HY000] [Cloudera] [ImpalaODBC](110)执行Impala中的查询:[HY000]:AnalysisException:语法错误1:\ n插入表测试值(?,?)\ n
^ \ n遇到:意外的字符\ n预期的:CASE,CAST,EXISTS,FALSE,IF,INTERVAL,NOT,NULL,TRUNCATE,TRUE,IDENTIFIER \ n \ nBY:异常:语法错误\ n}

{"ERROR [HY000] [Cloudera][ImpalaODBC] (110) Error while executing a query in Impala: [HY000] : AnalysisException: Syntax error in line 1:\nINSERT INTO TABLE test VALUES(?, ?)\n
^\nEncountered: Unexpected character\nExpected: CASE, CAST, EXISTS, FALSE, IF, INTERVAL, NOT, NULL, TRUNCATE, TRUE, IDENTIFIER\n\nCAUSED BY: Exception: Syntax error\n"}

哪个应管理查询参数(以及用值替换?),ODBC库或驱动程序?似乎是驱动程序,在这种情况下,它没有实现...而且很遗憾,因为我无法使用准备好的语句.

Which should manage query parameters (and replacement of ? by values), ODBC library or the driver ? It seems to be the driver and in this case, it's not implemented... And it's a shame because I cannot use prepared statement.

有人知道通过Impala ODBC驱动程序使用查询参数的方法吗?

Does somebody know a way to use query parameters with the Impala ODBC driver?

推荐答案

INSERT INTO TABLE 是Impala特定的语法.要使用Impala ODBC对参数进行INSERT,您需要使用SQL 92语法,即 INSERT INTO<表名>....

INSERT INTO TABLE is Impala specific syntax. To use Impala ODBC to do INSERT with parameters you need the SQL 92 syntax which is INSERT INTO <table name> ...

您可以尝试使用以下语法,看看是否有帮助?

Can you try the following syntax and see if it help?

INSERT INTO test VALUES(?,?)

这篇关于使用Impala ODBC驱动程序查询参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆