未解析任何语句且参数数量或类型错误 - cfstoredproc

发布于 2024-09-03 09:24:35 字数 711 浏览 1 评论 0原文

我有一个 Oracle 过程 - editBacklog,我通过 cfstoredproc 从 CFM 页面调用它。对过程进行多次更改后,我开始收到ORA-06550:第 1 行,第 7 列:PLS-00306:调用“EDITBACKLOG”时参数数量或类型错误。我以前就遇到过这个问题,发现如果我更改程序的名称,它就会再次开始工作。我将名称更改为 editBacklog2,它按我的预期工作。我将名称改回 editBacklog 并收到相同的错误。我再次将名称改回 editBacklog2 并开始收到 ORA-01003: no statements parsed。此时,除了名称之外,什么都没有改变。我再次将名称更改为 editBacklog3,它按预期工作。

截至目前
editBacklog = ORA-06550
editBacklog2 = ORA-01003
editBacklog3 = 有效(有点)

这整件事是在我尝试修复 ORA-01821: 日期格式无法识别错误时开始的。我担心当我开始改变事情时,我会开始出现与上述相同的蹩脚行为。

Oracle 或 CF 都在困扰着我,我最终会因此而不再喜欢其中一个。

我认为这可能是 cfstoredproc 缓存元数据或其他东西,但 google、livedocs 或 OTN 都没有对我的情况有太多说明。

我不是 SA 或 DBA。

有人有什么想法吗?

I have an Oracle procedure - editBacklog which I'm calling from a CFM page via cfstoredproc. After several changes to the procedure I started getting ORA-06550: line 1, column 7: PLS-00306: wrong number or types of arguments in call to 'EDITBACKLOG'. I've gotten this before and found that if I changed the name of the procedure it starts working again. I changed the name to editBacklog2 and it worked as I expected it to. I changed the name back to editBacklog and got the same error. I changed the name back to editBacklog2 again and started getting ORA-01003: no statement parsed. NOTHING has changed at this point except for the names. I changed the name yet again to editBacklog3 and it works as expected.

As of right now
editBacklog = ORA-06550
editBacklog2 = ORA-01003
editBacklog3 = works (kinda)

This whole thing started when I was trying to fix an ORA-01821: date format not recognized error. I fear when I start changing things I'll start getting the same lame behavior described above.

Either Oracle or CF is messing with me and I'll end up liking one of them less because of it.

I assume it's probably cfstoredproc caching metadata or something but neither google, livedocs, or OTN have much to say about my situation.

I'm not the SA or DBA.

Anyone have any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

静赏你的温柔 2024-09-10 09:24:35

ColdFusion 在处理数据库时会缓存一些内容。

两个建议:

  1. 在 ColdFusion Administrator 中禁用/重新启用数据库连接(数据源、显示高级设置、禁用连接复选框)

  2. 进入您的数据库的任何管理模块并终止来自 ColdFusion 的会话

无论哪种方式,重新建立连接将导致 Stored Proc 被重新缓存。

ColdFusion caches some stuff when dealing with the database.

Two suggestions:

  1. Disable/re-enable the database connection in the ColdFusion Administrator (Data Source, Show Advanced Settings, Disable Connections checkbox)

  2. Go into whatever administration module you have for your database and kill the sessions from ColdFusion

Either way, re-establishing the connection will cause the Stored Proc to be re-cached.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文