Compartir a través de


Inserción, actualización, eliminación o selección de operaciones mediante BizTalk Server con Oracle Database

El adaptador de Microsoft BizTalk para oracle Database muestra un conjunto de operaciones estándar en las tablas y vistas de base de datos de Oracle. Se denominan operaciones de lenguaje de manipulación de datos (DML) mediante las que puede realizar instrucciones INSERT, UPDATE, SELECT y DELETE sencillas calificadas por una cláusula WHERE en tablas y vistas. Para obtener más información sobre cómo el adaptador admite estas operaciones, vea Insertar, actualizar, eliminar y seleccionar operaciones en tablas y vistas de Oracle. Para obtener información sobre la estructura del mensaje SOAP para las operaciones DML, vea Esquemas de mensaje para las operaciones básicas de inserción, actualización, eliminación y selección de tablas y vistas.

Nota

Para realizar operaciones más complejas, por ejemplo, ejecutar una consulta SELECT de SQL parametrizada, puede usar la operación SQLEXECUTE. Para obtener más información sobre el uso de la operación SQLEXECUTE con BizTalk Server, vea Ejecutar operación SQLEXECUTE mediante BizTalk Server.

¿Cómo realizar operaciones básicas en una base de datos de Oracle?

Realizar una operación en una base de datos de Oracle mediante el adaptador de base de datos de Oracle con BizTalk Server implica tareas de procedimientos descritas en Desarrollo de aplicaciones de BizTalk. Para realizar operaciones de inserción, actualización, eliminación o selección en tablas y vistas de una base de datos de Oracle, estas tareas son:

  1. Cree un proyecto de BizTalk y genere un esquema para la operación que desea invocar en una tabla o vista de base de datos de Oracle.

  2. Cree mensajes en el proyecto de BizTalk para enviar y recibir mensajes de la base de datos de Oracle.

  3. Cree una orquestación para invocar la operación en la tabla o vista de base de datos de Oracle.

  4. Compile e implemente el proyecto de BizTalk.

  5. Configure la aplicación de BizTalk mediante la creación de puertos físicos de envío y recepción.

  6. Inicie la aplicación de BizTalk.

    En este tema se proporcionan instrucciones para realizar estas tareas.

Ejemplo basado en este tema

También se proporciona un ejemplo de SelectAccTable basado en este tema con el paquete de adaptadores de BizTalk. Para obtener más información, vea Ejemplos de adaptador.

Generar esquema

En este tema, para demostrar cómo realizar operaciones básicas de DML, seleccionaremos registros de la tabla ACCOUNTACTIVITY en el esquema SCOTT de la base de datos oracle. Esta tabla se crea en el esquema SCOTT mediante la ejecución de los scripts SQL proporcionados con los ejemplos. Para más información sobre los ejemplos, consulte Ejemplos de adaptador.

Para demostrar cómo seleccionar registros, se genera el esquema para la operación Select para la tabla ACCOUNTACTIVITY en el esquema SCOTT. Consulte Obtención de metadatos para operaciones de Oracle Database en Visual Studio para obtener más información sobre cómo generar el esquema.

Definición de mensajes y tipos de mensajes

El esquema que generó anteriormente describe los "tipos" necesarios para los mensajes de la orquestación. Normalmente, un mensaje es una variable, el tipo para el que se define mediante el esquema correspondiente. Debe vincular el esquema que generó en el primer paso a los mensajes de la ventana Vista de orquestación del proyecto de BizTalk.

Para este tema, debe crear dos mensajes: uno para enviar una solicitud a la base de datos de Oracle y la otra para recibir una respuesta.

Realice los pasos siguientes para crear mensajes y vincularlos al esquema.

  1. Abra la ventana Vista orquestación del proyecto de BizTalk si no está abierta. Para ello, haga clic en Ver, seleccione Otras ventanas y, a continuación, haga clic en Vista de orquestación.

  2. En vista de orquestación, haga clic con el botón derecho en Mensajes y, a continuación, haga clic en Nuevo mensaje.

  3. Haga clic con el botón derecho en el mensaje recién creado y, a continuación, seleccione Ventana Propiedades.

  4. En el panel Propiedades de Message_1, haga lo siguiente:

    Use Para hacer esto
    Identificador Escriba Solicitud.
    Tipo de mensaje En la lista desplegable, expanda Esquemas y, a continuación, seleccione SelectAccTable.OracleDBBindingSchema.Select, donde SelectAccTable es el nombre del proyecto de BizTalk. OracleDBBindingSchema es el esquema generado para la operación Select en la tabla ACCOUNTACTIVITY.
  5. Repita el paso 2 para crear un mensaje. En el panel Propiedades del nuevo mensaje, haga lo siguiente:

    Use Para hacer esto
    Identificador Respuesta de tipo.
    Tipo de mensaje En la lista desplegable, expanda Esquemas y, a continuación, seleccione SelectAccTable.OracleDBBindingSchema.SelectResponse.

Configuración de la orquestación

Debe crear una orquestación de BizTalk para usar BizTalk Server para realizar una operación en la base de datos de Oracle. En esta orquestación, se quita un mensaje de solicitud en una ubicación de recepción definida. El adaptador de Oracle Database consume este mensaje y lo pasa a la base de datos de Oracle a través de ODP. La respuesta de la base de datos de Oracle se guarda en otra ubicación. Una orquestación típica para realizar operaciones básicas de tabla en la base de datos de Oracle contendría:

  • Enviar y recibir formas para enviar mensajes a la base de datos de Oracle y recibir respuestas.

  • Puerto de recepción unidireccional para recibir mensajes de solicitud que se van a enviar a la base de datos de Oracle.

  • Un puerto de envío bidireccional para enviar mensajes de solicitud a la base de datos de Oracle y recibir respuestas.

  • Un puerto de envío unidireccional para enviar las respuestas de la base de datos de Oracle a una carpeta.

    Una orquestación de ejemplo para la operación Select es similar a la siguiente:

    Orquestación para la operación Select en Oracle

Agregar formas de mensaje

Asegúrese de especificar las siguientes propiedades para cada una de las formas de mensaje. Los nombres enumerados en la columna Shape son los nombres de las formas de mensaje que se muestran en la orquestación mencionada.

Forma Tipo de forma Propiedades
ReceiveMessage Recepción - Establecer el nombre en ReceiveMessage
- Establecer Activar enTrue
SendMessage Envío - Establecer el nombre en SendMessage
ReceiveResponse Recepción - Establecer nombre en ReceiveResponse
- Establecer Activar en False
SendResponse Envío - Establecer nombre en SendResponse

Adición de puertos

Asegúrese de especificar las siguientes propiedades para cada uno de los puertos lógicos. Los nombres enumerados en la columna Puerto son los nombres de los puertos que se muestran en la orquestación.

Port Propiedades
FileIn - Establecer identificador en FileIn
- Establecer tipo en FileInPort
- Establecer el patrón de comunicación en unidireccional
- Establecer la dirección de comunicación para recibir
LOBPort - Establecer identificador en LOBPort
- Establecer tipo en LOBPortType
- Establecer el patrón de comunicación en Solicitud-respuesta
- Establecer la dirección de comunicación en Enviar y recibir
SaveResponse - Establecer identificador en SaveResponse
- Establecer tipo en SaveResponseType
- Establecer el patrón de comunicación en unidireccional
- Establecer la dirección de comunicación en enviar

Especificar mensajes para formas de acción y conectarlos a puertos

En la tabla siguiente se especifican las propiedades y sus valores que se deben establecer para especificar mensajes para las formas de acción y para vincular los mensajes a los puertos. Los nombres enumerados en la columna Shape son los nombres de las formas de mensaje tal como se muestran en la orquestación mencionada anteriormente.

Forma Propiedades
ReceiveMessage - Establecer mensaje en solicitud
- Establecer operación en FileIn.Select.Request
SendMessage - Establecer mensaje en solicitud
- Establecer operación en LOBPort.Select.Request
ReceiveResponse - Establecer mensaje en respuesta
- Establecer operación en LOBPort.Select.Response
SendResponse - Establecer mensaje en respuesta
- Establecer operación en SaveResponse.Select.Request

Después de especificar estas propiedades, se conectan las formas y los puertos del mensaje y se completa la orquestación.

Ahora debe compilar la solución de BizTalk e implementarla en un BizTalk Server. Para obtener más información, vea Compilar y ejecutar orquestaciones.

Configuración de la aplicación de BizTalk

Después de implementar el proyecto de BizTalk, la orquestación que creó anteriormente aparece en el panel Orquestaciones de la consola de administración de BizTalk Server. Debe usar la consola de administración de BizTalk Server para configurar la aplicación. Para ver un tutorial, consulte Tutorial: Implementación de una aplicación básica de BizTalk.

La configuración de una aplicación implica:

  • Selección de un host para la aplicación.

  • Asignación de los puertos que creó en la orquestación a puertos físicos en la consola de administración de BizTalk Server. Para esta orquestación debe:

    • Defina una ubicación en el disco duro y un puerto de archivo correspondiente donde quitará un mensaje de solicitud. La orquestación de BizTalk consumirá el mensaje de solicitud y lo enviará a la base de datos de Oracle.

    • Defina una ubicación en el disco duro y un puerto de archivo correspondiente donde la orquestación de BizTalk quitará el mensaje de respuesta que contiene la respuesta de la base de datos de Oracle.

    • Defina un WCF-Custom físico o WCF-OracleDB puerto de envío para enviar mensajes a la base de datos de Oracle. También debe especificar la acción en el puerto de envío. Para obtener información sobre cómo crear puertos WCF-Custom o WCF-OracleDB, consulte Configuración manual de un enlace de puerto físico al adaptador de base de datos de Oracle.

      Nota

      La generación del esquema mediante el complemento de proyecto de BizTalk del servicio consumir adaptador también crea un archivo de enlace que contiene información sobre los puertos y las acciones que se van a establecer para esos puertos. Puede importar este archivo de enlace desde la consola de administración de BizTalk Server para crear puertos de envío (para llamadas salientes) o puertos de recepción (para llamadas entrantes). Para obtener más información, consulte Configuración de un enlace de puerto físico mediante un archivo de enlace de puertos a Oracle Database.

Iniciar la aplicación

Debe iniciar la aplicación de BizTalk para seleccionar registros de una tabla de base de datos de Oracle. Para obtener instrucciones sobre cómo iniciar una aplicación de BizTalk, vea Cómo iniciar una orquestación.

En esta fase, asegúrese de:

  • El puerto de recepción FILE para recibir mensajes de solicitud para la orquestación se está ejecutando.

  • El puerto de envío FILE para recibir los mensajes de respuesta de la orquestación se está ejecutando.

  • El WCF-Custom o WCF-OracleDB puerto de envío para enviar mensajes a la base de datos de Oracle se está ejecutando.

  • La orquestación de BizTalk para la operación se está ejecutando.

Ejecución de la operación

Después de ejecutar la aplicación, debe quitar un mensaje de solicitud en la ubicación de recepción del archivo. El esquema del mensaje de solicitud debe ajustarse al esquema de la operación Select que generó anteriormente. Por ejemplo, el mensaje de solicitud para seleccionar registros de la tabla ACCOUNTACTIVITY que tiene el campo ACCOUNT igual a 100001 es:

<Select xmlns="http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/ACCOUNTACTIVITY">  
  <COLUMN_NAMES>*</COLUMN_NAMES>  
  <FILTER>ACCOUNT=100001</FILTER>  
</Select>  

Consulte Esquemas de mensajes para las operaciones básicas de inserción, actualización, eliminación y selección en tablas y vistas para obtener más información sobre el esquema de mensajes de solicitud para realizar operaciones DML básicas en tablas y vistas de base de datos de Oracle mediante el adaptador de base de datos de Oracle.

La orquestación consume el mensaje y lo envía a la base de datos de Oracle. La respuesta de la base de datos de Oracle se guarda en la otra ubicación FILE definida como parte de la orquestación. Por ejemplo, la respuesta de la base de datos de Oracle para el mensaje de solicitud anterior es:

<?xml version="1.0" encoding="utf-8" ?>   
  <SelectResponse xmlns="http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/ACCOUNTACTIVITY">  
    <SelectResult>  
      <ACCOUNTACTIVITYRECORDSELECT>  
        <TID>1</TID>   
        <ACCOUNT>100001</ACCOUNT>   
        <AMOUNT>500</AMOUNT>   
        <DESCRIPTION />   
        <TRANSDATE>2007-10-16T16:58:44</TRANSDATE>   
        <PROCESSED>n</PROCESSED>   
        </ACCOUNTACTIVITYRECORDSELECT>  
      <ACCOUNTACTIVITYRECORDSELECT>  
        ….   
        ….  
      <ACCOUNTACTIVITYRECORDSELECT>  
      ….  
      ….    
    </SelectResult>  
  </SelectResponse>  

Posibles excepciones

Para obtener información sobre las excepciones que puede encontrar al realizar una operación DML mediante BizTalk Server, consulte Excepciones y control de errores.

Prácticas recomendadas

Después de haber implementado y configurado el proyecto de BizTalk, puede exportar las opciones de configuración a un archivo XML denominado archivo de enlaces. Una vez que genere un archivo de enlaces, puede importar los valores de configuración del archivo para que no necesite crear los puertos de envío, los puertos de recepción, etc. para la misma orquestación. Para obtener más información sobre los archivos de enlace, consulte Reutilización de enlaces del adaptador de base de datos de Oracle.

Consulte también

Desarrollar aplicaciones de base de datos de Oracle