#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. @рене, Нет, у всех них есть ценности 🙂