【问题标题】:SSRS ORA-01008 not all variables boundSSRS ORA-01008 未绑定所有变量
【发布时间】:2025-11-22 12:15:03
【问题描述】:

在 VS 2017 中使用 SSRS 在通过 ole db 连接器连接到 Oracle 时,我收到 ORA-01008 not all variables bound 消息。该代码通过sql developer正常工作。在我们升级到 vs 2017 之前,类似的代码在 VS 2016 中运行良好。任何想法是什么导致了这个问题

代码:

选择 tr.id_number FROM rpt_transaction_view TR WHERE TR.unit_code=:pUnit

错误信息:

标题:Microsoft SQL Server 报表设计器

执行查询时出错。 ORA-01008: 并非所有变量都绑定 ORA-01008: 并非所有变量都绑定


附加信息:

ORA-01008: 并非所有变量都绑定 ORA-01008: 并非所有变量都绑定 (OraOLEDB)


按钮:

好的

【问题讨论】:

  • 当我从“Oracle 数据库”切换到 OLE DB 时发生这种情况。您是否尝试过使用“Oracle 数据库”?

标签: reporting-services visual-studio-2017


【解决方案1】:

有点晚了,但我想我找到了解决方案(如果你想这样称呼它)。一点背景知识,我从 BIDS 开始就一直在使用 SSRS,之前从未遇到过这个错误......直到今天。我花了几个小时在谷歌上搜索,试图找到解决方案,但没有任何效果。 现在,我在 Oracle SQL Developer 中构建了所有查询,并注意到有问题的查询有所不同——“SELECT”加了下划线,基本上 Oracle SQL Developer 想要重写查询,所以我让它。现在我有两个参数,我们称它们为 :p1 和 :p2,在整个查询过程中每个参数都使用了 3 次。当查询被重写(几乎无法阅读)时,它用:b1、:b2、:b3、:b4、:b5 和:b6 替换了参数。所有奇数参数(:b1、:b3 和:b5)都是:p1 和偶数:p2。我使用了查找和替换,所以我回到只使用 2 个参数。我用这个查询替换了我的报告中的数据集,运行它,瞧,错误消失了……

为什么?我没有丝毫的想法。这个查询并不是我使用过的其他查询所独有的。我有 400 多个基于 oracle 的报告,而且我从来没有做过这样的事情,而且这个查询并不像我写的其他查询那么复杂。我有一些查询使用相同的参数六次,没有问题 - 只是这个。

无论如何,我想我会分享,以防其他人 100% 像我一样难过。

【讨论】: