Condividi tramite


Inserire, aggiornare, eliminare o selezionare operazioni usando BizTalk Server con Oracle Database

L'adapter Microsoft BizTalk per Oracle Database consente di visualizzare un set di operazioni standard sulle tabelle e le viste del database Oracle. Queste operazioni vengono chiamate operazioni DML (Data Manipulation Language Operations) con cui è possibile eseguire semplici istruzioni INSERT, UPDATE, SELECT e DELETE qualificate da una clausola WHERE nelle tabelle e nelle viste. Per altre informazioni su come la scheda supporta queste operazioni, vedere Inserisci, Aggiorna, Elimina e Seleziona operazioni su tabelle e viste Oracle. Per informazioni sulla struttura del messaggio SOAP per le operazioni DML, vedere Schemi dei messaggi per l'inserimento di base, l'aggiornamento, l'eliminazione e la selezione delle operazioni nelle tabelle e nelle visualizzazioni.

Nota

Per eseguire operazioni più complesse, ad esempio l'esecuzione di una query SQL SELECT con parametri, è possibile usare l'operazione SQLEXECUTE. Per altre informazioni sull'uso dell'operazione SQLEXECUTE con BizTalk Server, vedere Eseguire l'operazione SQLEXECUTE usando BizTalk Server.

Come eseguire operazioni di base in un database Oracle?

L'esecuzione di un'operazione in un database Oracle usando l'adapter Oracle Database con BizTalk Server comporta attività procedurali descritte in Sviluppo di applicazioni BizTalk. Per eseguire operazioni Insert, Update, Delete o Select in tabelle e viste in un database Oracle, queste attività sono:

  1. Creare un progetto BizTalk e generare lo schema per l'operazione che si vuole richiamare in una tabella o una vista del database Oracle.

  2. Creare messaggi nel progetto BizTalk per l'invio e la ricezione di messaggi dal database Oracle.

  3. Creare un'orchestrazione per richiamare l'operazione nella tabella o nella visualizzazione del database Oracle.

  4. Compilare e distribuire il progetto BizTalk.

  5. Configurare l'applicazione BizTalk creando porte di invio e ricezione fisiche.

  6. Avviare l'applicazione BizTalk.

    In questo argomento vengono fornite istruzioni per eseguire queste attività.

Esempio basato su questo argomento

Un esempio, SelectAccTable, basato su questo argomento viene fornito anche con bizTalk Adapter Pack. Per altre informazioni, vedere Esempi di adapter.

Generazione dello schema

In questo argomento viene illustrato come eseguire operazioni DML di base, verranno selezionati record dalla tabella ACCOUNTACTIVITY nello schema SCOTT nel database Oracle. Questa tabella viene creata nello schema SCOTT eseguendo gli script SQL forniti con gli esempi. Per altre informazioni sugli esempi, vedere Esempi di adapter.

Per illustrare come selezionare i record, viene generato lo schema per Selezionare l'operazione per la tabella ACCOUNTACTIVITY nello schema SCOTT. Per altre informazioni su come generare lo schema, vedere Ottenere metadati per le operazioni di Database Oracle in Visual Studio .

Definizione di messaggi e tipi di messaggio

Lo schema generato in precedenza descrive i "tipi" necessari per i messaggi nell'orchestrazione. Un messaggio è in genere una variabile, il tipo per cui è definito dallo schema corrispondente. È necessario collegare lo schema generato nel primo passaggio ai messaggi dalla finestra Visualizzazione orchestrazione del progetto BizTalk.

Per questo argomento, è necessario creare due messaggi, uno per inviare una richiesta al database Oracle e l'altro per ricevere una risposta.

Seguire questa procedura per creare messaggi e collegarli allo schema.

  1. Aprire la finestra Visualizzazione orchestrazione del progetto BizTalk, se non è già aperta. A tale scopo, fare clic su Visualizza, scegliere Altre finestre e quindi fare clic su Visualizzazione orchestrazione.

  2. In Visualizzazione orchestrazione fare clic con il pulsante destro del mouse su Messaggi e quindi scegliere Nuovo messaggio.

  3. Fare clic con il pulsante destro del mouse sul messaggio appena creato e quindi scegliere Proprietà finestra.

  4. Nel riquadro Proprietà per Message_1 eseguire le operazioni seguenti:

    Usare Per
    Identificatore Digitare Richiesta.
    Tipo di messaggio Nell'elenco a discesa espandere Schemi e quindi selezionare SelectAccTable.OracleDBBindingSchema.Select, dove SelectAccTable è il nome del progetto BizTalk. OracleDBBindingSchema è lo schema generato per l'operazione Select nella tabella ACCOUNTACTIVITY.
  5. Ripetere il passaggio 2 per creare un nuovo messaggio. Nel riquadro Proprietà per il nuovo messaggio eseguire le operazioni seguenti:

    Usare Per
    Identificatore Risposta al tipo.
    Tipo di messaggio Nell'elenco a discesa espandere Schemi e quindi selezionare SelectAccTable.OracleDBBindingSchema.SelectResponse.

Configurazione dell'orchestrazione

È necessario creare un'orchestrazione BizTalk per usare BizTalk Server per eseguire un'operazione nel database Oracle. In questa orchestrazione si rilascia un messaggio di richiesta in una posizione di ricezione definita. L'adapter Oracle Database usa questo messaggio e lo passa al database Oracle tramite ODP. La risposta dal database Oracle viene salvata in un'altra posizione. Un'orchestrazione tipica per l'esecuzione di operazioni di tabella di base nel database Oracle contiene:

  • Inviare e ricevere forme per inviare messaggi al database Oracle e ricevere risposte.

  • Porta di ricezione unidirezionale per ricevere messaggi di richiesta da inviare al database Oracle.

  • Porta di invio bidirezionale per inviare messaggi di richiesta al database Oracle e ricevere risposte.

  • Porta di invio unidirezionale per inviare le risposte dal database Oracle a una cartella.

    Un'orchestrazione di esempio per l'operazione Select è simile alla seguente:

    Orchestrazione per l'operazione Select in Oracle

Aggiunta di forme di messaggio

Assicurarsi di specificare le proprietà seguenti per ognuna delle forme del messaggio. I nomi elencati nella colonna Shape sono i nomi delle forme del messaggio visualizzate nell'orchestrazione appena menzionata.

Forma Tipo di forma Proprietà
ReceiveMessage Ricevere - Impostare nome su ReceiveMessage
- Impostare Attiva su True
SendMessage Send - Impostare nome su SendMessage
ReceiveResponse Ricevere - Impostare nome su ReceiveResponse
- Impostare Attiva su False
SendResponse Send - Impostare nome su SendResponse

Aggiunta di porte

Assicurarsi di specificare le proprietà seguenti per ognuna delle porte logiche. I nomi elencati nella colonna Porta sono i nomi delle porte visualizzate nell'orchestrazione.

Porta Proprietà
FileIn - Impostare identificatore su FileIn
- Impostare tipo su FileInPort
- Impostare il modello di comunicazionesu unidirezionale
- Impostare la direzione di comunicazione su Ricezione
LOBPort - Impostare identificatore su LOBPort
- Impostare tipo su LOBPortType
- Impostare il modello di comunicazione su Request-Response
- Impostare la direzione di comunicazione su Send-Receive
SaveResponse - Impostare identificatore su SaveResponse
- Impostare tipo su SaveResponseType
- Impostare il modello di comunicazionesu unidirezionale
- Impostare la direzione di comunicazione su Invia

Specificare i messaggi per le forme di azione e connetterli alle porte

La tabella seguente specifica le proprietà e i relativi valori che è necessario impostare per specificare i messaggi per le forme di azione e collegare i messaggi alle porte. I nomi elencati nella colonna Shape sono i nomi delle forme del messaggio visualizzate nella orchestrazione menzionata in precedenza.

Forma Proprietà
ReceiveMessage - Impostare messaggio su richiesta
- Impostare l'operazione su FileIn.Select.Request
SendMessage - Impostare messaggio su richiesta
- Impostare l'operazione su LOBPort.Select.Request
ReceiveResponse - Impostare messaggio su risposta
- Impostare l'operazione su LOBPort.Select.Response
SendResponse - Impostare messaggio su risposta
- Impostare l'operazione su SaveResponse.Select.Request

Dopo aver specificato queste proprietà, le forme e le porte del messaggio sono connesse e la orchestrazione è stata completata.

È ora necessario compilare la soluzione BizTalk e distribuirla in un BizTalk Server. Per altre informazioni, vedere Creazione e esecuzione di orchestrazioni.

Configurazione dell'applicazione BizTalk

Dopo aver distribuito il progetto BizTalk, l'orchestrazione creata in precedenza è elencata nel riquadro Orchestrazioni nella console di amministrazione di BizTalk Server. È necessario usare la console di amministrazione BizTalk Server per configurare l'applicazione. Per una procedura dettagliata, vedere Procedura dettagliata: Distribuzione di un'applicazione BizTalk di base.

La configurazione di un'applicazione comporta:

  • Selezione di un host per l'applicazione.

  • Mapping delle porte create nell'orchestrazione alle porte fisiche nella console di amministrazione di BizTalk Server. Per questa orchestrazione è necessario:

    • Definire un percorso sul disco rigido e una porta file corrispondente in cui verrà visualizzato un messaggio di richiesta. L'orchestrazione BizTalk utilizzerà il messaggio di richiesta e lo invierà al database Oracle.

    • Definire un percorso sul disco rigido e una porta file corrispondente in cui l'orchestrazione BizTalk rilascia il messaggio di risposta contenente la risposta dal database Oracle.

    • Definire un WCF-Custom fisico o WCF-OracleDB porta di invio per inviare messaggi al database Oracle. È anche necessario specificare l'azione nella porta di invio. Per informazioni su come creare WCF-Custom o WCF-OracleDB porte, vedere Configurare manualmente un'associazione di porte fisiche all'adapter di database Oracle.

      Nota

      La generazione dello schema usando il componente aggiuntivo Del progetto BizTalk del servizio adapter crea anche un file di associazione contenente informazioni sulle porte e sulle azioni da impostare per tali porte. È possibile importare questo file di associazione dalla console di amministrazione di BizTalk Server per creare porte di invio (per le chiamate in uscita) o le porte di ricezione (per le chiamate in ingresso). Per altre informazioni, vedere Configurare un'associazione di porte fisiche usando un file di associazione di porte a Oracle Database.

Avvio dell'applicazione

È necessario avviare l'applicazione BizTalk per selezionare i record da una tabella di database Oracle. Per istruzioni sull'avvio di un'applicazione BizTalk, vedere Come avviare un'orchestrazione.

In questa fase assicurarsi di:

  • La porta di ricezione FILE per ricevere messaggi di richiesta per l'orchestrazione è in esecuzione.

  • La porta di invio FILE per ricevere i messaggi di risposta dall'orchestrazione è in esecuzione.

  • Il WCF-Custom o WCF-OracleDB porta di invio per inviare messaggi al database Oracle è in esecuzione.

  • L'orchestrazione BizTalk per l'operazione è in esecuzione.

Esecuzione dell'operazione

Dopo aver eseguito l'applicazione, è necessario eliminare un messaggio di richiesta nel percorso di ricezione FILE. Lo schema per il messaggio di richiesta deve essere conforme allo schema per l'operazione Select generata in precedenza. Ad esempio, il messaggio di richiesta per selezionare i record dalla tabella ACCOUNTACTIVITY con il campo ACCOUNT uguale a 100001 è:

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

Per altre informazioni sullo schema di messaggio per l'esecuzione di operazioni di base su tabelle e visualizzazioni, vedere Schemi di messaggio di base per l'esecuzione di operazioni DML di base su tabelle e viste del database Oracle usando l'adapter Oracle Database.

L'orchestrazione usa il messaggio e lo invia al database Oracle. La risposta dal database Oracle viene salvata nell'altra posizione FILE definita come parte dell'orchestrazione. Ad esempio, la risposta dal database Oracle per il messaggio di richiesta precedente è:

<?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>  

Possibili eccezioni

Per informazioni sulle eccezioni che potrebbero verificarsi durante l'esecuzione di un'operazione DML usando BizTalk Server, vedere Eccezioni e gestione degli errori.

Procedure consigliate

Dopo aver distribuito e configurato il progetto BizTalk, è possibile esportare le impostazioni di configurazione in un file XML denominato file binding. Dopo aver generato un file di associazioni, è possibile importare le impostazioni di configurazione dal file in modo che non sia necessario creare le porte di invio, le porte di ricezione e così via per la stessa orchestrazione. Per altre informazioni sui file di associazione, vedere Riutilizzare le associazioni dell'adapter di database Oracle.

Vedere anche

Sviluppare applicazioni per il database Oracle