C# 使用odbc驱动程序为flex表运行参数化查询的正确方法是什么?

C# 使用odbc驱动程序为flex表运行参数化查询的正确方法是什么?,c#,ado.net,C#,Ado.net,我对Vertica及其flex tables概念非常陌生。需要在odbcParameter的帮助下将数据插入flex表 string query = "INSERT INTO flexTable SELECT MapJSONExtractor(@flexDataToInsert) as event" var connection = GetConnection(); // returns OdbcConnection var command = GetCommand(connection, qu

我对Vertica及其flex tables概念非常陌生。需要在odbcParameter的帮助下将数据插入flex表

string query = "INSERT INTO flexTable SELECT MapJSONExtractor(@flexDataToInsert) as event"
var connection = GetConnection(); // returns OdbcConnection
var command = GetCommand(connection, queryString.ToString()); // returns OdbcCommand
OdbcParameter param = command.Parameters.Add("@flexDataToInsert", OdbcType.NText, 2048);
param.Value = data; // long json to insert
await command.ExecuteNonQueryAsync()

但获取异常“OdbcException:错误[42703]错误2624:列“flexDataToInsert”不存在。苦苦挣扎了几个小时后,仍然无法意识到它有什么问题

除了存储过程之外,ODBC不允许使用命名参数。使用位置参数(例如
插入flexTable SELECT MapJSONExtractor(?)as event
),并按照查询中使用的顺序定义参数。我也尝试过,但在字符55处出现了“ERROR[42601]ERROR 4856:Syntax ERROR at or at or near”)”