我正在做类似
的事情...
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:无效的主机/绑定变量名称
编辑:连接字符串如下所示:
"Data Source=orcl;Persist Security Info=True;User ID=user_id;Password=pwd;Unicode=True"
oConnection.Open();
后没有错误,所以我假设我的连接字符串是正确的。
我犯了哪个错误?
答案 0 :(得分:24)
ORA-01745 :无效的主机/绑定变量名称
原因:绑定变量或INTO规范中的冒号后跟一个 不恰当的名字,也许是一个保留字。
操作:更改变量名称并重试操作。
来自here
要查看保留字词是什么,请点击here
答案 1 :(得分:0)
绕过oracle连接using
阻塞并提供正确的connectionString。
using (OracleConnection con = new OracleConnection(connectionString)) {
OracleCommand oCommand = new OracleCommand(queryString, connection);
....
}