Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ORA-01745在c中执行参数化查询时出错#_C#_.net_Oracle - Fatal编程技术网

C# ORA-01745在c中执行参数化查询时出错#

C# ORA-01745在c中执行参数化查询时出错#,c#,.net,oracle,C#,.net,Oracle,我在做类似的事情 ... OracleCommand oCommand = new OracleCommand(); oConnection.Open(); oCommand.Connection = oConnection; oCommand.CommandText = "SELECT * FROM employees WHERE user = :User"; oCommand.Parameters.AddWithValue(":Name", "Employee1"); DbDataRead

我在做类似的事情

...
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"
occonnection.Open()之后没有错误所以我假设我的连接字符串是正确的

我在哪一方面犯了错误

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

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

操作:更改变量名称,然后重试该操作


要检查哪些是保留字,请单击

使用
块环绕oracle连接
,并提供正确的连接字符串

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

连接字符串似乎错误(指示的主机名可能不正确)。你能把它放在问题里吗?这个代码似乎没问题。你的连接字符串是什么?@Bahamut,这是你真正的查询吗?因为它不应该在这个问题上引发异常query@Habib我的问题也差不多。我使用的是一个简单的包装器,但我放置了断点、参数和ConnectionText,它们与此查询完全相同。@Bahamut,错误表明使用了保留字,这就是我问的原因。我使用了:User作为变量名。必须小心处理Oracle查询。。。下次我应该先试试这个。我忍不住要添加一条关于完全无用的Oracle错误消息的评论。。。在错误消息中包含原因语句会不会太痛苦?