2015-05-25 1 views
0

Npgsql выполнения оператор обновления для denodo вид был не удалось, как синтаксической ошибки вОШИБКА:: Синтаксическая ошибка: Исключение синтаксического анализа запроса вблизи «»»

"ERROR: : Syntax error: Exception parsing query near '''". When debug, I saw below translated sql statement which was pass to denodo from Npgsql parser. 
"update testdenodoupdate set TestValue = ((E'aa')::text) where id = ((1)::int4);" 

Благодаря denodo не признавая заявление, оно не удалось.

Просьба помочь предложить, есть ли другое альтернативное решение? Мой код проверки при условии, как показано ниже:

NpgsqlConnection conn = new NpgsqlConnection("Server=xx.xx.xx.xx;Port=9996;Database=xxx;User Id=xx;Password=xx;CommandTimeout=40;"); 

    conn.Open(); 
    NpgsqlCommand command = new NpgsqlCommand("update testdenodoupdate set TestValue = :TestValue where id = :id;", conn); 
    command.Parameters.Add(new NpgsqlParameter("TestValue",    NpgsqlTypes.NpgsqlDbType.Text)); 
    command.Parameters[0].Value = "aa"; 
    command.Parameters[0].SourceColumn = "TestValue"; 

    command.Parameters.Add(new NpgsqlParameter("id", NpgsqlTypes.NpgsqlDbType.Integer)); 
    command.Parameters[1].Value = 1; 
    command.Parameters[1].SourceColumn = "id"; 

    ssUpdatedRows = command.ExecuteNonQuery(); 
+0

Попробуйте удалить ';' – Mat

+0

с такой же ошибкой, Матем. – Min

ответ

0

Вы можете попробовать новую версию 3.0.0-beta0001 недавно опубликовал? Обработка параметров значительно изменилась, и проблема больше не может быть.

0

В предыдущих версиях Denodo просто выберите операции, выполненные через поставщика данных Npgsql. Последние обновления включают поддержку всех операций CRUD.