在c#中执行参数化查询时出现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(); 

然后这会引发exception:

ORA-01745:无效的主机/绑定变量名称

编辑:连接字符串如下所示:

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

oConnection.Open();之后没有错误oConnection.Open(); 所以我假设我的连接字符串是正确的。

我犯了哪个部分?

ORA-01745 :无效的主机/绑定变量名称

原因 :绑定变量或INTO规范中的冒号后跟一个不合适的名称,可能是保留字。

操作 :更改变量名称并重试该操作。

从这里

要查看保留字是什么,请单击此处

using块包装oracle连接并提供正确的connectionString。

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