Compartir a través de


Desarrollo de aplicaciones de Oracle Database mediante el modelo de canal WCF

Puede usar el modelo de canal de Windows Communication Foundation (WCF) para consumir el adaptador de Microsoft BizTalk para Oracle Database enviando mensajes XML directamente a través de una instancia de canal creada con el enlace de base de datos de Oracle.

Una ventaja de usar el modelo de canal WCF sobre el uso de las clases y métodos fuertemente tipados que expone el modelo de servicio WCF es que el modelo de canal proporciona un control más preciso sobre las operaciones que se realizan en la base de datos de Oracle. ¿Por qué? En el modelo de canal WCF se controla directamente el contenido de los mensajes que se envían a través del canal.

En ciertos escenarios, este nivel adicional de control puede ser beneficioso. Por ejemplo, cuando se usa el modelo de canal WCF para realizar una operación de actualización en una tabla, puede actualizar de forma selectiva las columnas de las filas de destino omitiendo las columnas de la plantilla de actualización que se pasa en el mensaje. El método de actualización expuesto por un cliente WCF usa un parámetro de registro fuertemente tipado para la plantilla que incluye todas las columnas del esquema de tabla. Si una columna tiene "nillable=false" en el WSDL, debe actualizarse mediante el modelo de servicio WCF.

Otra ventaja clave que proporciona el modelo de canal WCF sobre el modelo de servicio WCF es una compatibilidad más completa con el streaming de un extremo a otro de los tipos de datos de objetos grandes (LOB) de Oracle. Mediante el modelo de canal WCF, puede realizar streaming de un extremo a otro:

  • Para actualizar una columna LOB en una tabla o vista mediante la operación UpdateLOB.

  • En los parámetros OUT e IN OUT que contienen datos LOB devueltos por procedimientos y funciones.

  • En los datos LOB contenidos en el resultado de una operación SQLEXECUTE.

  • En las columnas de datos LOB que se devuelven en la operación POLLINGSTMT.

  • En las columnas de datos loB que devuelve una operación Select en una tabla o vista.

    Esto se debe a que en el modelo de canal WCF se controla directamente cómo se proporciona el cuerpo del mensaje en los mensajes salientes y cómo se procesa el cuerpo del mensaje en los mensajes entrantes.

    En cambio, el modelo de servicio WCF solo proporciona:

  • Streaming de un extremo a otro para los datos LOB en una operación, la operación ReadLOB.

  • No hay ninguna capacidad para actualizar los datos loB en la base de datos de Oracle de forma transmitida.

    En las secciones de este tema se explica cómo realizar operaciones en el adaptador de Oracle Database mediante el modelo de canal WCF.

En esta sección