ORA-00936: отсутствует выражение при чтении из базы данных с помощью драйвера dotConnect и базы данных oracle

Я использую драйвер dotConnect для подключения к базе данных оракула, но всегда получаю эту ошибку, когда хочу использовать параметры: ORA-00936: отсутствует выражение

КОД:

using (var cmd = conn.CreateCommand())
            {
                conn.Open();
                cmd.CommandText = "SELECT stevilka_dokumenta from zmpt_dokumenti_po where status = @status"; ;
                cmd.Parameters.Add("@status", OracleDbType.VarChar, "1");

                using (var reader = cmd.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        string stevilkaDokumenta = reader.GetString("stevilka_dokumenta");
                    }
                }

Ошибка здесь:

using (var reader = cmd.ExecuteReader())

почему я получаю сообщение ORA-00936: отсутствует выражение? Как я должен объявить входные параметры?


person senzacionale    schedule 06.09.2011    source источник


Ответы (2)


просто попробуйте изменить @status на :status.

person CD..    schedule 06.09.2011
comment
Согласно документации, синтаксис в вопросе правильный, но ваш ответ решил проблему: devart.com/dotconnect/db2/docs/Parameters.html - person Frederik; 28.05.2015
comment
@Frederik это для провайдера Db2 - person OwnageIsMagic; 20.08.2020

Кроме того, для тех, у кого все еще есть проблемы, убедитесь, что вы не включаете точку с запятой в конце...

person Michael Campbell    schedule 03.11.2017
comment
Что-то вроде непризнанного персонажа. Это была просто ловушка, которую я решил выбросить туда. - person Michael Campbell; 07.11.2017