Параметры драйвера Simba Spark ODBC .NET C# во вложенных SQL-запросах

#c# #apache-spark #odbc

Вопрос:

У меня возникли некоторые проблемы с драйвером ODBC Simba Spark для C#, параметры отлично работают для простого запроса, но они вообще не работают для следующего вложенного запроса.

Если я выполняю быструю и грязную замену параметров, это работает нормально, поэтому запрос действительно работает, это параметры.

 SELECT *
    FROM(
        SELECT DISTINCT DateColumn1, TN, w.start AS DateColumn2, Status,
          mean(Value) OVER (
            PARTITION BY TN, w.start
            ORDER BY DateColumn2 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
          ) AS Value
        FROM
          (
            SELECT
              DateColumn2,
              WINDOW(DateColumn2, '10 minutes') w,
              TN,
              Status,
              DateColumn1,
              Value
            FROM
              some_table_name
            WHERE
              TN = ? AND
              DateColumn1 BETWEEN ?
              AND ? 
          )
) 
 

И вот код, которым я его называю. Предположим, что соединение и команда были успешно созданы

 var command = await connectionManager.CreateCommand();
command.CommandText = theQuery;
command.Parameters.Add("@TN", OdbcType.Text).Value = tagName;
command.Parameters.Add("@from", OdbcType.Date).Value = from;
command.Parameters.Add("@to", OdbcType.Date).Value = to;

var reader = await command.ExecuteReaderAsync();
 

Тот же код отлично работает для простого select * from ... where ... запроса, но когда я запускаю его с помощью приведенного выше, я получаю следующую ошибку, которая, по-видимому, указывает на то, что параметры по какой-то причине не удалось вставить…

 ERROR [HY000] [Simba][Hardy] (35) Error from server: error code: '0' error message: 'MALFORMED_REQUEST: 
extraneous input '?' expecting {'(', '{', 'CALLED', 'CLONE', 'COLLECT', 'CONTAINS', 
'CONVERT', 'COPY', 'COPY_OPTIONS', 'CREDENTIALS', 'DEEP', 'DEFINER', 'DELTA', 
'DETERMINISTIC', 'ENCRYPTION', 'EXPECT', 'FAIL', 'FILES', 'FORMAT_OPTIONS'.
 

У тебя есть какие-нибудь идеи? Он жалуется на ? то , и я думаю, что дал ему все, что ему нужно. Но, по-видимому, нет…

Комментарии:

1. tagname , from и to все они не являются нулевыми, верно?

2. @рене, Нет, у всех них есть ценности 🙂