背景:我打电话写在ASP.NET Web服务,查询Oracle数据库。我知道Web服务本身的工作,因为我之前的其他应用程序使用它。所以,我必须在Visual Studio的Web应用程序,我一直在开关从“DEV” Web服务来回指向同一个web服务的生产配置版本进行测试。指着配置的Web服务的“DEV”是没有问题的,但调用量产版,我总是得到一个异常调用服务:

SoapException was unhandled by user code
Server was unable to process request. ---> could not execute query
[ SELECT this_.FIELD1 as FIELD1_18_0_, this_.FIELD2 as FIELD12_18_0_ FROM ABC.TABLE_A this_ WHERE this_.FIELD1 like :p0 ORDER BY this_.FIELD1 asc ]
Positional parameters:  #0>00073%
[SQL: SELECT this_.FIELD1 as FIELD1_18_0_, this_.FIELD2 as FIELD12_18_0_ FROM ABC.TABLE_A this_ WHERE this_.FIELD1 like :p0 ORDER BY this_.FIELD1] ---> ORA-12571: TNS:packet writer failure

我遇上了相应的数据库(剪切和粘贴直出异常信息)的SQL查询和查询回来与预期数据。我试图更新和重新添加Web服务参考既作为“服务参考”(.NET 3.0+方式)并作为“Web引用”(旧版.NET方式),并且都得到同样的错误。

:那么,什么是一个 “ORA-12571:TNS:包作家失败” 在Web服务的情况下错误是什么意思?仰望的Oracle错误编号给出了一些非常模糊的可能原因,如“松电缆连接”或“IP地址冲突”。我敢肯定它是没有这些,因为不同的应用程序正在成功地使用Web服务。可能是某种配置错误,或者也可以是更微妙的?其他人看到这种伤脑筋的Oracle错误号归因于相关的一些网络服务?

有帮助吗?

解决方案

您呼叫从WS客户端将在WS服务器到Oracle数据库。

您错误是ORA误差,这是由数据库生成的。所以你的问题可能是WS服务器和数据库之间。

当你运行“对相应的数据库SQL查询”,你从Web服务器做呢?如果不是你能试试。请确保您使用的是相同的连接配置。

修改

每注释正如下面,真正的问题是一个驱动器不匹配。

其他提示

我建议更仔细地重新审视你的假设,因为这显然是与数据库的Web服务对话的错误,应该是完全独立的W / S呼叫者的。

如果该W / S呼叫产生这种特定的异常,就应该这样做对其他所有调用,所以你的“其他应用程序”那是使用Web服务成功根本就没有执行相同的代码或有在外界因素发挥。

无论哪种方式,这是不相关的服务是如何注册,或者调用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top