首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ORA-29273:使用utl_http包的HTTP请求断续错误

ORA-29273:使用utl_http包的HTTP请求断续错误
EN

Stack Overflow用户
提问于 2013-11-28 17:11:19
回答 3查看 46.5K关注 0票数 3

我使用utl_http包向与Oracle相同服务器(本地)上的IIS发出HTTP请求。有时它可以工作,我得到响应,但通常情况下,它挂起大约15秒,然后我得到以下错误:

ORA-29273: HTTP请求失败ORA-06512:在"SYS.UTL_HTTP“行1722 ORA-29263: HTTP协议错误

作为一个测试,我在IIS站点中有一个小的静态文本文件,所以我是这样测试它的:

代码语言:javascript
运行
复制
select utl_http.request('http://domain.com/test.txt') from dual

如果我在Oracle Apex中运行它,而不是直接在db上运行,我也会遇到同样的问题。

我尝试过的另一件事是创建一个自己的包,它使用long utl_htp.begin_request()方法来执行HTTP请求,而不是使用utl_http.request()快捷方式。这给出了完全相同的问题(有时起作用,但大部分是错误--相同的错误)。

我所看到的模式是,如果我等待一段时间,然后尝试,它工作的前2-10次,然后开始错误。当它起作用时,我立即得到响应,当它出错时,总是在错误之前出现延迟。

如果我使用远程web浏览器请求文本文件URL (或站点中的任何其他资源),那么每次都会得到正确的响应。

我试过像下面这样设置一个超时,但它没有任何效果。例如,在显示错误之前,它不会在3秒后超时,而是持续10秒或15秒。

代码语言:javascript
运行
复制
UTL_HTTP.set_transfer_timeout(3);

我想我可以排除ACL,因为它有时会起作用。

有人知道是什么导致了这种行为吗?

EN

回答 3

Stack Overflow用户

发布于 2013-11-29 09:24:14

可能的原因

->你可能对你的TNS-侦听器有问题.

在命令提示符窗口中,尝试运行TNSPING service_name。试着快速运行几次,并检查其中一些程序是否失败。

我曾经有过类似的问题。尝试重新配置您的TNS侦听器。

还必须有一个选项,可以在TNS-侦听器定义中提供IP号。这也解决了有时这类问题。

-> IIS问题。

票数 1
EN

Stack Overflow用户

发布于 2014-12-09 08:19:36

阅读SET_PERSISTENT_CONN_SUPPORT过程:http.htm#i1027673

用途:utl_http.set_persistent_conn_support(真,30);

票数 0
EN

Stack Overflow用户

发布于 2017-06-29 19:27:32

您是否超过了并发HTTP连接的限制?我隐约记得,当我忘记关闭HTTP连接时,遇到了类似的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20271592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档