使用impala odbc驱动程序查询参数

ahy6op9u  于 2021-06-26  发布在  Impala
关注(0)|答案(1)|浏览(330)

我使用的是cloudera提供的impala odbc驱动程序。我似乎不能正确使用查询参数。例如:

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
^\nenccountered:意外字符\n预期:case,cast,exists,false,if,interval,not,null,truncate,true,identifier\n\n使用者:exception:语法错误\n“}
哪些应该管理查询参数(和替换?按值),odbc库还是驱动程序?它似乎是驱动程序,在这种情况下,它没有实现。。。很遗憾,我不能用事先准备好的陈述。
有人知道在impala odbc驱动程序中使用查询参数的方法吗?

w46czmvw

w46czmvw1#

INSERT INTO TABLE 是 Impala 特有的语法。要使用impala odbc对参数执行insert,需要使用sql 92语法 INSERT INTO <table name> ... 你能试试下面的语法,看看是否有用吗? INSERT INTO test VALUES(?, ?)

相关问题