当前位置: 首页 > 面试题库 >

Oracle``RA-01008:并非所有变量都绑定在一起''。带有参数的错误

乐正德华
2023-03-14
问题内容

这是我第一次与Oracle打交道,并且很难理解为什么会收到此错误。

我在查询的where子句中使用带有以下代码的Oracle ODT.NET w / C#:

WHERE table.Variable1 = :VarA
  AND (:VarB IS NULL OR table.Variable2 LIKE '%' || :VarB || '%')
  AND (:VarC IS NULL OR table.Variable3 LIKE :VarC || '%')

并且我像这样添加参数值:

cmd.Parameters.Add("VarA", "24");
cmd.Parameters.Add("VarB", "test");
cmd.Parameters.Add("VarC", "1234");

当我运行此查询时,服务器返回

ORA-01008: not all variables bound

如果我注释掉“ AND(....)”行中的任何一行,则查询成功完成。

如果仅使用两个参数而不使用三个参数进行查询,为什么查询会正常运行?我收到的错误甚至没有任何意义


问题答案:

oracle的ODP.Net提供程序默认使用按位置绑定。更改行为以按名称绑定。将属性BindByName设置为true。比您可以忽略参数的双重定义。

using(OracleCommand cmd = con.CreateCommand()) {
    ...
    cmd.BindByName = true;
    ...
}


 类似资料:
  • 问题内容: 我正在使用以下方法通过使用jdbc计算工资单,但未删除“ ORA-01008:并非所有变量都绑定”错误。 有什么想法吗? 我正在使用以下代码 问题答案: 您的问题在这里: 您要告诉他们执行SQL ,而不是执行先前准备的SQL。这应该是: 这是一个相当普遍的错误,主要是由于糟糕的class设计 及其子类型引起的。 正如@RMT所指出的,您在这里犯了同样的错误: 没什么关系,因为中没有占位

  • 我正在尝试通过将图像转换为base 64字符串将图像上传到我的Android应用程序中的服务器。在这种情况下,当我尝试上传图像时,我的图像质量会大大降低并且非常模糊。你能帮我克服这个问题吗? 我要换氧气。inSampleSize=10它在摩托罗拉、三星和联想都能很好地工作,但并非适用于所有设备。请告诉我为什么会这样。。 将位图转换为base64 任何帮助都将不胜感激

  • 当使用https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-term-query.html描述的术语搜索时,我没有看到预期的结果 ElasticSearch版本为2.3.2:使用该版本创建数据: 此查询显示两条记录: 这个查询显示了一条记录,正如预期的那样: 但是使用不同的术语将不会产生记录: 不返回记录

  • CATALINA_OPTS=“-dcom.sun.management.jmxremote-dcom.sun.management.jmxremote.port=6969-dcom.sun.management.jmxremote.ssl=false-dcom.sun.management.jmxremote.authenticate=false${CATALINA_OPTS}” 并使用jcons

  • 问题内容: 由于某种原因,我安装的gcc似乎在错误消息中代替所有%s的字符打印了“带克拉的字符”,例如, 有人看过吗?(毋庸置疑,Google很难做到这一点。) (在Ubuntu 8.10上) 编辑:http ://ubuntuforums.org/showthread.php?t=252832上的那个人说要设置LC_MESSAGES = en_US,但这对我没有任何帮助。 问题答案: 啊哈!问题

  • 问题内容: 我想我已经尝试了互联网上建议的各种方法,但是没有任何效果。这是我当前的CSS代码: 除了在IE中以外,它都可以正常工作… 问题答案: 不幸的是,在IE中是普通的越野车,至少到8 在Windows Internet Explorer(包括8版及更高版本)中,如果在外部样式表文件中指定了相对URI值,则将基本URI视为包含元素的文档的URI,而不是其中包含样式表的URI。声明出现。 您可能