在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); .... }