Condividi tramite


Operazioni di inserimento, aggiornamento, eliminazione o selezione tramite BizTalk Server con l'adapter SQL

L'adapter Microsoft BizTalk per SQL Server espone un set di operazioni standard in SQL Server tabelle e viste di database. Queste operazioni sono denominate operazioni DML (Data Manipulation Language). Usando le operazioni DML, è possibile eseguire semplici operazioni di inserimento, aggiornamento, selezione ed eliminazione su tabelle e viste. Per altre informazioni sul supporto di queste operazioni, vedere Operazioni di inserimento, aggiornamento, eliminazione e selezione di operazioni su tabelle e viste con l'adapter SQL. Per informazioni sulla struttura del messaggio SOAP per queste operazioni, vedere Schemi messaggio per operazioni di inserimento, aggiornamento, eliminazione e selezione di operazioni in tabelle e viste.

Nota

Se si esegue un'operazione su tabelle con colonne di tipi definiti dall'utente, assicurarsi di fare riferimento a Operazioni su tabelle e viste con tipi User-Defined usando l'adattatore SQL prima di iniziare a sviluppare l'applicazione.

Come eseguire operazioni di base su un database SQL Server

L'esecuzione di un'operazione su un database SQL Server tramite l'adapter SQL con BizTalk Server comporta attività procedurali descritte in Blocchi predefiniti per sviluppare applicazioni BizTalk con l'adapter SQL. Per eseguire operazioni di inserimento, aggiornamento, eliminazione o selezione su tabelle e viste in SQL Server, queste attività sono le seguenti:

  1. Creare un progetto BizTalk e generare lo schema per l'operazione che si desidera richiamare in una tabella o vista di database di SQL Server.

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

  3. Creare un'orchestrazione per richiamare l'operazione nella tabella o nella vista del database SQL Server.

  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, SelectTable, basato su questo argomento viene fornito con bizTalk Adapter Pack. Per altre informazioni, vedere Esempi per l'adapter SQL.

Generazione dello schema

In questo argomento viene illustrato come eseguire operazioni DML di base selezionando i record dalla tabella EMPLOYEE nel database SQL Server. Eseguire gli script forniti con gli esempi per creare la tabella EMPLOYEE. Per altre informazioni sugli esempi, vedere Esempi di schemi.

Per illustrare come selezionare i record, viene generato lo schema per l'operazione Select per la tabella EMPLOYEE. È necessario creare un progetto BizTalk e usare il componente aggiuntivo Consume Adapter Service per generare lo schema. Per altre informazioni su come generare schemi, vedere Recupero di metadati per SQL Server operazioni in Visual Studio tramite l'adapter SQL.

Importante

Se si generano metadati per le operazioni in una tabella con colonne di tipi definiti dall'utente, assicurarsi che i rispettivi assembly dei tipi definiti dall'utente siano disponibili nella stessa posizione dell'eseguibile di Visual Studio, devenv.exe. L'eseguibile è in genere disponibile in <installation drive>:\Program Files\Microsoft Visual Studio <version>\Common7\IDE. In questo esempio la tabella EMPLOYEE ha una colonna UDT (Point). Assicurarsi di copiare il rispettivo assembly nello stesso percorso dell'eseguibile di Visual Studio.

Per informazioni su come creare un tipo definito dall'utente, vedere Creare un tipo di User-Defined. Per informazioni su come registrare un tipo definito dall'utente in SQL Server, vedere Registrazione di tipi User-Defined in SQL Server.

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 cui tipo è definito dallo schema corrispondente. È ora necessario creare messaggi per l'orchestrazione e collegarli agli schemi generati nel passaggio precedente.

  1. Aggiungere un'orchestrazione al progetto BizTalk. Da Esplora soluzioni fare clic con il pulsante destro del mouse sul nome del progetto BizTalk, scegliere Aggiungi e quindi fare clic su Nuovo elemento. Digitare un nome per l'orchestrazione BizTalk e quindi fare clic su Aggiungi.

  2. 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.

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

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

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

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

    Usare Per
    Identificatore Digitare Response
    Tipo di messaggio Nell'elenco a discesa espandere Schemi e quindi selezionare SelectTable.TableOperation_dbo_Employee.SelectResponse.

Configurazione dell'orchestrazione

È necessario creare un'orchestrazione BizTalk per usare BizTalk Server per eseguire un'operazione su SQL Server. In questa orchestrazione si rilascia un messaggio di richiesta in una posizione di ricezione definita. L'adapter SQL utilizza questo messaggio e lo passa a SQL Server. La risposta da SQL Server viene salvata in un'altra posizione. È necessario includere le forme Invia e Ricevi per inviare messaggi a SQL Server e per ricevere le risposte, rispettivamente. Un'orchestrazione di esempio per l'operazione Select è simile alla seguente:

Orchestrazione per l'operazione Select in SQL Server

Aggiunta di forme messaggio

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

Forma Tipo di forma Proprietà
ReceiveMessage Ricevere - Impostare Il nome su ReceiveMessage
- Impostare Attiva su True
SendMessage Send - Impostare Il nome su SendMessage
ReceiveResponse Ricevere - Impostare il nome su ReceiveResponse
- Impostare Attiva su False
SendResponse Send - Impostare il 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à
MessageIn - Impostare l'identificatore su MessageIn
- Impostare il tipo su MessageInType
- 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
ResponseOut - Impostare identificatore su ResponseOut
- Impostare tipo su ResponseOutType
- 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 MessageIn.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 ResponseOut.Select.Request

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

È ora necessario compilare la soluzione BizTalk e distribuirla in 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 di SQL Server.

    • 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 di SQL Server.

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

      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 per l'uso dell'adapter SQL.

Avvio dell'applicazione

È necessario avviare l'applicazione BizTalk per selezionare i record da una tabella di database SQL Server. Per la procedura per avviare 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.

  • La porta di trasmissione WCF-Custom o WCF-SQL per inviare messaggi al database SQL Server è in esecuzione.

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

Importante

Se si eseguono operazioni in una tabella con colonne di tipi definiti dall'utente, assicurarsi che i rispettivi assembly delle UDT siano disponibili nello stesso percorso dell'eseguibile BizTalk Server, btsntsvc.exe. Il file eseguibile è in genere disponibile in <installation drive>:\Program Files\Microsoft BizTalk Server <version>. In questo esempio la tabella EMPLOYEE ha una colonna UDT (Point). Assicurarsi di copiare il rispettivo assembly nello stesso percorso dell'eseguibile BizTalk Server.

Per informazioni su come creare un'UDT, vedere Creare un tipo di User-Defined. Per informazioni su come registrare un'UDT in SQL Server, vedere Registrare i tipi di User-Defined in SQL Server.

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 tutti i record della tabella EMPLOYEE è:

<Select xmlns="http://schemas.microsoft.com/Sql/2008/05/TableOp/dbo/Employee">  
  <Columns>*</Columns>  
  <Query>where Employee_ID=10001</Query>  
</Select>  

Questo messaggio di richiesta recupera i record dalla tabella Employee che soddisfano la condizione specificata nell'elemento <Query> . Se si desidera recuperare colonne specifiche dalla tabella, è necessario specificarle nell'elemento <Columns> , separate da virgole, nella stessa sequenza visualizzata nella definizione della tabella. Se non si vuole specificare una condizione per recuperare i dati, lasciare vuoto l'elemento <Query> . Per altre informazioni sullo schema dei messaggi per l'esecuzione di operazioni di base su tabelle, aggiornamento, eliminazione e selezione, vedere Schemi di messaggio di richiesta per eseguire operazioni DML di base in SQL Server tabelle e viste del database usando l'adattatore SQL.

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

<?xml version="1.0" encoding="utf-8" ?>   
<SelectResponse xmlns="mssql://Microsoft.LobServices.Sql/2008/01/TVOp/dbo/Employee">  
  <SelectResult>  
    <Employee xmlns="mssql://Microsoft.LobServices.Sql/2008/01/Types/Tables/dbo">  
      <Employee_ID>10001</Employee_ID>  
      <Name>John</Name>  
      <DOJ>1983-12-31T00:00:00Z</DOJ>  
      <Designation>Manager</Designation>  
      <Job_Description>Management</Job_Description>  
      <Photo>EjRVYzRFVQ==</Photo>  
      <Rating>1,2</Rating>  
      <Salary>100000.00</Salary>  
      <Last_Modified>AAAAAAAAD6I=</Last_Modified>  
    </Employee>  
  </SelectResult>  
</SelectResponse>  

Procedure consigliate

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

  • Se si inseriscono, si aggiornano o si eliminano grandi volumi di dati, assicurarsi di impostare i valori di timeout corretti per l'adapter WCF e per la transazione MSDTC. Per altre informazioni, vedere "L'adapter non riesce a inserire, aggiornare o eliminare grandi volumi di dati in un'unica operazione usando BizTalk Server" problema in Risolvere i problemi operativi con l'adapter SQL.

Vedere anche

Sviluppare applicazioni BizTalk tramite l'adapter SQL