Se ha alcanzado el número máximo de instrucciones para la conexión actual

Este artículo le ayuda a resolver el problema en el que se produce un error en la operación de inserción cuando BizTalk Server 2010 escribe información de pedidos de comercio electrónico en DB2/AS400 y la orquestación de BizTalk usa el adaptador de DB2 para escribir la información en las tablas de DB2.

Versión del producto original:   Host Integration Server 2010, 2009
Número KB original:   2679772

Síntomas

Imagine la siguiente situación:

  • BizTalk Server 2010 escribe información de pedidos de comercio electrónico en DB2/AS400.
  • La orquestación de BizTalk usa el adaptador de DB2 para escribir la información en las tablas de DB2.

Cuando un pedido tiene más de 128 elementos de línea, se produce un error en la operación de inserción con el siguiente error:

Se ha alcanzado el número máximo de instrucciones para la conexión actual. SQLSTATE: HY000, SQLCODE:-1500

Causa

El cliente se basa en instrucciones SQL predefinidas en secciones dentro de paquetes de SQL estáticos de DB2 para admitir la ejecución de instrucciones SQL SELECT simultáneas. De forma predeterminada, el cliente define 128 secciones de paquete, lo que permite al cliente ejecutar 128 instrucciones SQL por conexión SELECT de cliente. Cuando el número máximo de instrucciones SQL simultáneas pendientes supera el número de secciones predefinidas, el cliente no puede ejecutar una nueva instrucción SELECT SELECT SQL.

Solución

  • Agregue la siguiente clave del Registro:
    • Clave: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Host Integration Server\Data Integration
    • Valor: NumberOfPackages
    • Tipo: REG_DWORD
    • Datos de valor: 512
  • Vuelva a crear paquetes.
  • Detener o reiniciar BizTalk.