Ошибка 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();
, поэтому я предполагаю, что моя строка подключения верна.
В какой части я допустил ошибку?
Ответы
Ответ 1
ORA-01745: неверное имя переменной хоста/связывания
Причина. Двоеточие в переменной привязки или спецификации INTO сопровождалось неправильное имя, возможно, зарезервированное слово.
Действие. Измените имя переменной и повторите операцию.
из здесь
Чтобы проверить зарезервированные слова, нажмите здесь
Ответ 2
Обмотайте блок соединения оракула using
и поставьте правильную строку соединения.
using (OracleConnection con = new OracleConnection(connectionString)) {
OracleCommand oCommand = new OracleCommand(queryString, connection);
....
}