Подтвердить что ты не робот

Ошибка ORA-01745 при выполнении параметризованных запросов в С#

Я делаю что-то вроде

...
OracleCommand oCommand = new OracleCommand();
oConnection.Open();
oCommand.Connection = oConnection;
oCommand.CommandText = "SELECT * FROM employees WHERE user = :User";
oCommand.Parameters.AddWithValue(":Name", "Employee1");

DbDataReader dbRdr = oCommand.ExecuteReader();

то это вызывает исключение:

ORA-01745: неверное имя переменной хоста/связывания

EDIT: строка подключения выглядит следующим образом:

"Data Source=orcl;Persist Security Info=True;User ID=user_id;Password=pwd;Unicode=True"

Нет ошибки после oConnection.Open();, поэтому я предполагаю, что моя строка подключения верна.

В какой части я допустил ошибку?

4b9b3361

Ответ 1

ORA-01745: неверное имя переменной хоста/связывания

Причина. Двоеточие в переменной привязки или спецификации INTO сопровождалось неправильное имя, возможно, зарезервированное слово.

Действие. Измените имя переменной и повторите операцию.

из здесь

Чтобы проверить зарезервированные слова, нажмите здесь

Ответ 2

Обмотайте блок соединения оракула using и поставьте правильную строку соединения.

using (OracleConnection con = new OracleConnection(connectionString)) {
    OracleCommand oCommand = new OracleCommand(queryString, connection);
    ....
}