本文适用于以下产品:
-
Microsoft BizTalk 适配器包 2010
-
Microsoft BizTalk 适配器包 2013
症状
假定您有针对 Oracle 数据库的 Microsoft BizTalk 适配器上的端口发送基于 WCF 的 Oracle。 此外,假定,某些 Oracle 包变量和触发器操作正在使用 Oracle 服务器上。 在此情况下,触发器操作可能会失败,并且您将收到类似于以下内容的错误消息:
一条消息发送到适配器"<适配器名称>"发送端口"<SendPortName>"与 URI 上 <URI> 被挂起。 错误详细信息: Microsoft.ServiceModel.Channels.Common.TargetSystemException: ORA 01400: 无法插入到空值 (""。""。"")ORA 06512: 在行 2---> Oracle.DataAccess.Client.OracleException: ORA 01400: 无法插入到空值 (""。""。"")ORA 06512: 在行处 2at Oracle.DataAccess.Client.OracleException.HandleErrorHelper (Int32 errCode、 OracleConnection 连接、 IntPtr opsErrCtx、 OpoSqlValCtx * pOpoSqlValCtx、 对象 src、 字符串过程、 布尔型 bCheck)在 Oracle.DataAccess.Client.OracleException.HandleError (Int32 errCode、 OracleConnection 连接、 字符串过程、 IntPtr opsErrCtx、 OpoSqlValCtx * pOpoSqlValCtx、 对象 src、 布尔型 bCheck)Microsoft.Adapters.OracleCommon.OracleCommonUtils.ExecuteNonQuery(OracleCommand command, OracleCommonExecutionHelper executionHelper)---端的内部异常的堆栈跟踪---Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery ()
原因
由于会话状态将重新初始化适配器获取连接时出现问题。
解决方案
要解决此问题,请安装此修复程序,并禁用发送端口属性中的连接池。
累积更新程序包信息
BizTalk 适配器包 2013
可以解决此问题的修补程序所在的 BizTalk 适配器包 2013年累积更新包 1。 有关如何获取此累积更新包的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2892600 累积更新包 1 为 BizTalk 适配器包 2013
BizTalk 适配器包 2010
可以解决此问题的修补程序包含在累积更新包 3 中 BizTalk 适配器包 2010。 有关如何获取此累积更新包的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2617150 累积更新包 3 BizTalk 适配器包 2010
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。
参考
BizTalk Server 修补程序的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2003907 BizTalk Server 修补程序有关的信息有关连接池的配置的详细信息,请访问以下 MSDN 网站:
更多信息
本文中提到的第三方产品由 Microsoft 以外的其他公司提供。 Microsoft 不对这些产品的性能或可靠性提供任何明示或暗示性担保。