Condividi tramite


Elaborare i messaggi di notifica per completare attività specifiche in SQL usando BizTalk Server

È possibile usare l'adapter SQL per ricevere notifiche per le modifiche apportate alle tabelle di database SQL Server. Tuttavia, l'adapter invia solo una notifica che alcuni record sono stati inseriti, aggiornati o eliminati in una determinata tabella di database. Qualsiasi post-elaborazione su tali record deve essere gestita dalle applicazioni client stesse. Questo argomento presenta una descrizione basata su uno scenario su come elaborare i record nella tabella in base al tipo di notifica ricevuto dal database SQL Server.

Scenari per l'esecuzione di azioni successive dopo la ricezione della notifica

Di seguito sono riportati alcuni scenari in cui i client dell'adapter devono eseguire determinate attività di post-notifica.

  • Scenario 1. Si consideri uno scenario in cui il client dell'adattatore deve eseguire determinate attività in base al tipo di notifica ricevuto da SQL Server. Ad esempio, l'applicazione client deve aggiornare i record nella tabella "A" se i record vengono inseriti nella tabella "B". Analogamente, l'applicazione client deve eliminare i record dalla tabella "A" se i record vengono eliminati dalla tabella "B".

    In questo scenario, dal messaggio di notifica ricevuto, i client dell'adapter devono estrarre il tipo di notifica per decidere se la notifica è stata per un'operazione di inserimento o un'operazione di eliminazione. Dopo aver verificato il tipo di notifica, i client dell'adapter devono eseguire azioni successive per inserire o aggiornare le tabelle pertinenti.

  • Scenario 2. Si consideri uno scenario in cui il percorso di ricezione che riceve i messaggi di notifica per le modifiche apportate a una tabella viene disattivato. Mentre la posizione di ricezione è inattiva, alcuni record vengono aggiunti alla tabella. Tuttavia, per questi record il client dell'adapter non riceve alcuna notifica. Quando il percorso di ricezione viene eseguito il backup, l'adapter notifica al client inviando un messaggio specifico e quindi l'applicazione client deve cercare tutti i record inseriti nella tabella di database mentre la posizione di ricezione è inattiva.

    In questo scenario, dal messaggio di notifica ricevuto, i client dell'adapter devono estrarre le informazioni relative al fatto che la notifica sia per una modifica a una tabella di database o per l'avvio della posizione di ricezione. Se la notifica è per l'avvio della posizione di ricezione, i client dell'adapter devono implementare la logica per elaborare i record che potrebbero essere stati inseriti, aggiornati o eliminati mentre la posizione di ricezione è inattiva.

Nota

Questi sono solo alcuni scenari di esempio elencati per una migliore comprensione di come usare la funzionalità di notifica nell'adapter SQL. Tuttavia, il set di base di attività necessarie per estrarre il tipo di notifica ricevuto sarà simile per tutti gli scenari. Questo argomento fornisce istruzioni su come estrarre il tipo di notifica da un messaggio di notifica.

Come questo argomento illustra la ricezione di messaggi di notifica ed estrazione del tipo di notifica

In questo argomento viene illustrato come elaborare i messaggi di notifica per eseguire attività successive, si considererà uno scenario di base in cui un client dell'adapter usa l'applicazione BizTalk per ricevere messaggi di notifica per le modifiche apportate alla tabella Employee. Dopo aver ricevuto la notifica, il client filtra il tipo di notifica ricevuto ed esegue un'azione successiva. Per dimostrare uno scenario molto semplice, è consigliabile considerare che il client dell'adapter copia i messaggi di notifica in cartelle diverse in base al tipo di notifica ricevuto. Così:

  • Se il messaggio di notifica è per un'operazione Inserisci o Aggiorna, il client dell'adapter copia il messaggio nella cartella C:\TestLocation\UpsertNotification.

  • Se il messaggio di notifica è per qualsiasi altra operazione, ad esempio Elimina, il client dell'adapter copia il messaggio nella cartella C:\TestLocation\OtherNotificaiton.

    Per ottenere questo risultato come parte di un'applicazione BizTalk, l'orchestrazione deve contenere quanto segue:

  • Porta di ricezione unidirezionale per ricevere messaggi di notifica.

  • Forma espressione contenente una query xpath per estrarre le informazioni sul tipo di messaggio di notifica ricevuto.

  • Forma Decide per includere un blocco decisionale nell'orchestrazione. In questo blocco decisionale l'applicazione decide quali operazioni successive eseguire in base al messaggio di notifica ricevuto.

  • Due porte di invio unidirezionale che ricevono infine i messaggi di notifica.

Configurazione delle notifiche con le proprietà di associazione dell'adapter SQL

Nella tabella seguente vengono riepilogate le proprietà di associazione dell'adapter SQL usate per configurare la ricezione di notifiche da SQL Server. È necessario specificare queste proprietà di associazione durante la configurazione della porta di ricezione nella console di amministrazione BizTalk Server.

Nota

È possibile scegliere di specificare queste proprietà di associazione quando si genera lo schema per l'operazione di notifica , anche se non è obbligatorio. In tal caso, il file di associazione porta generato dal componente aggiuntivo Del servizio adapter di utilizzo come parte della generazione dei metadati contiene anche i valori specificati per le proprietà di associazione. È possibile importare in un secondo momento questo file di associazione nella console di amministrazione BizTalk Server per creare la porta di ricezione WCF-custom o WCF-SQL con le proprietà di associazione già impostate. Per altre informazioni sulla creazione di una porta usando il file di associazione, vedere Configurare un'associazione di porte fisica usando un file di associazione porta per usare l'adapter SQL.

Binding, proprietà Descrizione
InboundOperationType Specifica l'operazione in ingresso da eseguire. Per ricevere messaggi di notifica, impostare questa opzione su Notifica.
NotificaStatement Specifica l'istruzione SQL (SELECT o EXEC <stored procedure>) usata per registrare le notifiche di query. L'adapter ottiene un messaggio di notifica da SQL Server solo quando il set di risultati per l'istruzione SQL specificato cambia.
NotifyOnListenerStart Specifica se l'adapter invia una notifica ai client dell'adapter all'avvio del listener.

Per una descrizione più completa di queste proprietà, vedere Informazioni sull'adapter BizTalk per SQL Server proprietà di associazione dell'adapter. Per una descrizione completa di come usare l'adapter SQL per ricevere notifiche da SQL Server, leggere ulteriormente.

Come ricevere messaggi di notifica dal database SQL Server

L'esecuzione di un'operazione nel database SQL Server tramite adattatore SQL con BizTalk Server comporta le attività procedurali descritte in Blocchi predefiniti per sviluppare applicazioni BizTalk con l'adapter SQL. Per configurare l'adapter per ricevere messaggi di notifica, queste attività sono:

  1. Creare un progetto BizTalk e quindi generare lo schema per l'operazione di notifica in ingresso. Facoltativamente, è possibile specificare i valori per le proprietà di associazione InboundOperationType e NotificationStatement .

  2. Creare un messaggio nel progetto BizTalk per ricevere una notifica dal database di SQL Server.

  3. Creare un'orchestrazione come descritto nella sezione precedente.

  4. Compilare e distribuire il progetto BizTalk.

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

    Nota

    Per le operazioni in ingresso, ad esempio la ricezione di messaggi di notifica, è necessario configurare solo una porta di ricezione un WCF-Custom idirezionale o WCF-SQL. Le porte di ricezione a due vie WCF-Custom o WCF-SQL non sono supportate per le operazioni in ingresso.

  6. Avviare l'applicazione BizTalk.

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

Generazione dello schema

È necessario generare lo schema per l'operazione in ingresso di notifica . Per altre informazioni su come generare lo schema, vedere Recupero dei metadati per SQL Server operazioni in Visual Studio usando l'adapter SQL. Eseguire le attività seguenti durante la generazione dello schema. Ignorare il primo passaggio se non si desidera specificare le proprietà di associazione in fase di progettazione.

  1. Specificare un valore per le proprietà di associazione InboundOperationType e NotificationStatement durante la generazione dello schema. Per altre informazioni su questa proprietà di associazione, vedere Informazioni sull'adapter BizTalk per SQL Server proprietà di associazione dell'adapter. Per istruzioni su come specificare le proprietà di associazione, vedere Configurare le proprietà di associazione per l'adapter SQL.

  2. Selezionare il tipo di contratto come servizio (operazioni in ingresso).

  3. Generare lo schema per l'operazione di notifica .

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. Dopo aver generato lo schema, è necessario collegarlo ai messaggi dalla visualizzazione Orchestrazione del progetto BizTalk.

Per questo argomento, è necessario creare un messaggio per ricevere notifiche dal database di SQL Server.

Seguire questa procedura per creare messaggi e collegarli allo schema.

  1. Aggiungere un'orchestrazione al progetto BizTalk. Nella 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 della visualizzazione orchestrazione del progetto BizTalk, se non è già aperta. Fare clic su Visualizza, scegliere Altre finestre e quindi fare clic su Visualizzazione orchestrazione.

  3. Nella visualizzazione orchestrazione fare clic con il pulsante destro del mouse su Messaggi, quindi scegliere Nuovo messaggio.

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

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

    Usare Per
    Identificatore Digitare NotifyReceive.
    Tipo di messaggio Nell'elenco a discesa espandere Schemi e selezionare Process_Notification.Notification, dove Process_Notification è il nome del progetto BizTalk. La notifica è lo schema generato per l'operazione di notifica .

Configurazione dell'orchestrazione

È necessario creare un'orchestrazione BizTalk per usare BizTalk Server per ricevere messaggi di notifica dal database SQL Server e quindi eseguire attività in base al tipo di notifica ricevuta. In questa orchestrazione, l'adapter riceve il messaggio di notifica in base all'istruzione SELECT specificata per la proprietà di associazione NotificationStatement . La query xpath specificata all'interno della forma Espressione estrae il tipo di notifica in una variabile, ad esempio NotificationType. La forma Decide usa il valore in questa variabile per decidere il tipo di notifica ricevuta e accetta il "percorso" appropriato per eseguire le operazioni successive. Come indicato nella sezione precedente, l'orchestrazione eseguirà le operazioni seguenti in base al tipo di messaggio di notifica ricevuto.

  • Se il messaggio di notifica è relativo a un'operazione di inserimento o aggiornamento, il client dell'adapter copia il messaggio nella cartella C:\TestLocation\UpsertNotification.

  • Se il messaggio di notifica è per qualsiasi altra operazione, ad esempio Delete, il client dell'adapter copia il messaggio nella cartella C:\TestLocation\OtherNotificaiton.

    Pertanto, l'orchestrazione deve contenere quanto segue:

  • Porta di ricezione unidirezionale per ricevere messaggi di notifica.

  • Forma Espressione che contiene una query xpath per estrarre il tipo di notifica ricevuta.

  • Forma Decidere di includere un blocco decisionale nell'orchestrazione. In questo blocco decisionale, l'applicazione decide le operazioni successive da eseguire in base al messaggio di notifica ricevuto.

  • Due porte di trasmissione unidirezionale che ricevono infine i messaggi di notifica.

  • Forma di ricezione.

    Un'orchestrazione di esempio è simile alla seguente.

    Orchestrazione per eseguire attività post-notifica

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à
ReceiveNotification Ricevere - Impostare Il nome su ReceiveNotification

- Impostare Attiva su True

Aggiunta di una forma espressione

Lo scopo di includere una forma Espressione nell'orchestrazione consiste nell'avere una query xpath per estrarre il tipo di messaggio di notifica ricevuto. Prima di creare una query xpath, esaminare il formato di un messaggio di notifica. Un messaggio di notifica tipico è simile al seguente:

<Notification xmlns="http://schemas.microsoft.com/Sql/2008/05/Notification/">  
  <Info>Insert</Info>   
  <Source>Data</Source>   
  <Type>Change</Type>   
</Notification>  

Come si può notare, le informazioni sul tipo di notifica sono disponibili all'interno del tag all'interno del <info> tag padre <Notification> . Pertanto, come parte di questa forma di espressione è necessario:

  • Creare una variabile contenente il valore all'interno del tag e impostarne il <Info> tipo su System.String. Per altre informazioni sulla creazione di variabili, vedere Uso di variabili nelle orchestrazioni.

    Per questo argomento assegnare alla variabile il nome NotificationType.

  • Creare una query xpath per estrarre il valore dal <tag Info> . La query xpath sarà simile alla seguente:

    NotificationType = xpath(NotifyReceive,"string(/*[local-name()='Notification']/*[local-name()='Info']/text())");  
    

    In questa query xpath NotifyReceive è il messaggio creato per la ricezione di messaggi di notifica. L'estratto all'interno della string funzione indica che la query deve estrarre il valore all'interno del <Info> tag, che a sua volta si trova all'interno del <Notification> tag. Infine, il valore estratto dalla query viene assegnato alla variabile NotificaitonType .

Aggiunta di una forma Decide

Lo scopo dell'aggiunta di una forma Decide consiste nell'includere un blocco decisionale nell'orchestrazione per decidere quali operazioni successive eseguire in base al tipo di messaggio di notifica ricevuto. La decisione viene presa sulla base del valore della variabile NotificationType . In questo argomento l'orchestrazione prende una decisione in base al tipo di messaggio di notifica ricevuto. Pertanto, la condizione nella forma Regola viene specificata come segue:

NotificationType.Equals("Insert") | NotificationType.Equals("Update")  

Questa condizione suggerisce che se il valore della variabile NotificaitonType è Insert o Update, l'orchestrazione eseguirà un set di attività. Se il valore della variabile NotificationType è qualcos'altro, l'orchestrazione eseguirà altri set di attività.

Come accennato nelle sezioni precedenti, per illustrare un approccio semplice, l'orchestrazione copia i messaggi in cartelle diverse in base al tipo di messaggio di notifica. Pertanto, all'interno dei blocchi Rule e Else, è necessario aggiungere forme Send per inviare i messaggi a porte diverse. Per questo argomento, denominare la forma Send nel blocco Rule come SendUpsertNotification e la forma Send nel blocco Else come SendOtherNotification.

Aggiunta di porte

È ora necessario aggiungere le porte logiche seguenti all'orchestrazione:

  • Porta di ricezione unidirezionale per ricevere messaggi di notifica da SQL Server.

  • Porta di trasmissione unidirezionale per inviare messaggi di notifica per le operazioni di inserimento e aggiornamento a una cartella specifica.

  • Porta di trasmissione unidirezionale per inviare messaggi di notifica per qualsiasi altra operazione a una cartella specifica.

    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à
SQLNotifyPort - Impostare l'identificatore su SQLNotifyPort

- Impostare il tipo su SQLNotifyPortType

- Impostare il modello di comunicazionesu unidirezionale

- Impostare la direzione di comunicazione da ricevere
NotificationUpsertPort - Impostare l'identificatore su NotificationUpsertPort

- Impostare Tipo su NotificationUpsertPortType

- Impostare il modello di comunicazionesu unidirezionale

- Impostare la direzione di comunicazione su Invia
OtherNotificationPort - Impostare l'identificatore su OtherNotificationPort

- Impostare il tipo su OtherNotificationPortType

- Impostare il modello di comunicazionesu unidirezionale

- Impostare la direzione di comunicazione su Invia

Specificare i messaggi per le forme azione e connettersi alle porte

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

Forma Proprietà
ReceiveNotification - Impostare il messaggio su NotifyReceive

- Impostare l'operazione su SQLNotifyPort.Notify.Request
SendUpsertNotification - Impostare il messaggio su NotifyReceive

- Impostare l'operazione su NotificationUpsertPort.Upsert.Request
SendOtherNotification - Impostare il messaggio su Seleziona

- Impostare l'operazione su OtherNotificationPort.Other.Request

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

È ora necessario compilare la soluzione BizTalk e distribuirla in un BizTalk Server. Per altre informazioni, vedere Compilazione ed 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. Per configurare l'applicazione, è necessario usare la console di amministrazione di BizTalk Server. 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 una porta di ricezione un WCF-Custom fisico o WCF-SQL unidirezionale. Questa porta è in ascolto delle notifiche provenienti dal database SQL Server. Per informazioni su come creare porte, vedere Configurare manualmente un'associazione di porte fisiche all'adapter SQL. Assicurarsi di specificare le proprietà di associazione seguenti per la porta di ricezione.

      Importante

      Non è necessario eseguire questo passaggio se sono state specificate le proprietà di associazione in fase di progettazione. In tal caso, è possibile creare una porta di ricezione WCF-custom o WCF-SQL, con le proprietà di associazione necessarie impostate, importando il file di associazione creato dal componente aggiuntivo Del servizio adapter di utilizzo. Per altre informazioni, vedere Configurare un'associazione di porte fisiche usando un file di associazione di porte per usare l'adapter SQL.

      Binding, proprietà Valore
      InboundOperationType Impostare questa opzione su Notifica.
      NotificaStatement Impostare questa opzione su:

      SELECT Employee_ID, Name FROM dbo.Employee WHERE Status=0

      Nota: È necessario specificare i nomi di colonna nell'istruzione, come illustrato in questa istruzione SELECT. È inoltre necessario specificare sempre il nome della tabella insieme al nome dello schema. Ad esempio: dbo.Employee.
      NotifyOnListenerStart Impostare questa opzione su True.

      Per altre informazioni sulle diverse proprietà di associazione, vedere Informazioni sull'adapter BizTalk per SQL Server proprietà di associazione dell'adapter.

      Nota

      È consigliabile configurare il livello di isolamento delle transazioni e il timeout delle transazioni durante l'esecuzione di operazioni in ingresso usando l'adapter SQL. È possibile farlo aggiungendo il comportamento del servizio durante la configurazione della porta di ricezione WCF-Custom o WCF-SQL. Per istruzioni su come aggiungere il comportamento del servizio, vedere Configurare il livello di isolamento delle transazioni e il timeout delle transazioni con SQL.

    • Definire un percorso sul disco rigido e una porta file corrispondente in cui l'orchestrazione BizTalk rilascia i messaggi di notifica dal database SQL Server per le operazioni Di inserimento e aggiornamento. Configurare questa porta per eliminare i messaggi di notifica nella cartella C:\TestLocation\UpsertNotification.

    • Definire un percorso sul disco rigido e una porta file corrispondente in cui l'orchestrazione BizTalk rilascia i messaggi di notifica dal database SQL Server per tutte le altre operazioni. Configurare questa porta per eliminare i messaggi di notifica nella cartella C:\TestLocation\OtherNotification.

Avvio dell'applicazione

È necessario avviare l'applicazione BizTalk per ricevere messaggi di notifica dal database SQL Server e per eseguire le operazioni di selezione e aggiornamento successive. Per istruzioni sull'avvio di un'applicazione BizTalk, vedere Come avviare un'orchestrazione.

In questa fase assicurarsi di:

  • Porta di ricezione unidirezionale WCF-Custom o WCF-SQL, che riceve i messaggi di notifica dal database SQL Server in esecuzione.

  • Le due porte di invio FILE, che ricevono messaggi da SQL Server, sono in esecuzione.

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

Esecuzione dell'operazione

Dopo aver avviato l'orchestrazione BizTalk, viene eseguito il set di azioni seguente:

  • Poiché la proprietà di associazione NotifyOnListenerStart è impostata su True, viene visualizzato il messaggio seguente:

    <?xml version="1.0" encoding="utf-8" ?>  
    <Notification xmlns="http://schemas.microsoft.com/Sql/2008/05/Notification/">  
      <Info>ListenerStarted</Info>   
      <Source>SqlBinding</Source>   
      <Type>Startup</Type>   
    </Notification>  
    

    Si noti che il valore nel <Info> tag è "ListnerStarted". Di conseguenza, questo messaggio viene ricevuto nella cartella C:\TestLocation\OtherNotification.

  • Inserire un record nella tabella Employee. Verrà visualizzato un messaggio di notifica simile al seguente:

    <?xml version="1.0" encoding="utf-8" ?>   
    <Notification xmlns="http://schemas.microsoft.com/Sql/2008/05/Notification/">  
      <Info>Insert</Info>   
      <Source>Data</Source>   
      <Type>Change</Type>   
    </Notification>  
    

    Si noti che il valore nel <Info> tag è "Inserisci". Di conseguenza, questo messaggio viene ricevuto nella cartella C:\TestLocation\UpsertNotification.

  • Aggiornare un record nella tabella Employee. Verrà visualizzato un messaggio di notifica simile al seguente:

    <?xml version="1.0" encoding="utf-8" ?>  
    <Notification xmlns="http://schemas.microsoft.com/Sql/2008/05/Notification/">  
      <Info>Update</Info>   
      <Source>Data</Source>   
      <Type>Change</Type>   
    </Notification>  
    

    Si noti che il valore nel <Info> tag è "Update". Di conseguenza, questo messaggio viene ricevuto nella cartella C:\TestLocation\UpsertNotification.

  • Eliminare un record dalla tabella Employee. Verrà visualizzato un messaggio di notifica simile al seguente:

    <?xml version="1.0" encoding="utf-8" ?>  
    <Notification xmlns="http://schemas.microsoft.com/Sql/2008/05/Notification/">  
      <Info>Delete</Info>   
      <Source>Data</Source>   
      <Type>Change</Type>   
    </Notification>  
    

    Si noti che il valore nel <Info> tag è "Delete". Di conseguenza, questo messaggio viene ricevuto nella cartella C:\TestLocation\OtherNotification.

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 le porte di invio e ricevere le porte per la stessa orchestrazione. Per altre informazioni sui file di associazione, vedere Riutilizzare le associazioni degli adattatori.

Esecuzione di operazioni complesse dopo la ricezione di messaggi di notifica

Per semplicità e migliore comprensione, l'orchestrazione in questo argomento copia i messaggi in cartelle diverse in base al tipo di notifica. Tuttavia, negli scenari reali si potrebbe voler eseguire operazioni più complesse. È possibile eseguire procedure simili fornite in questo argomento e compilarle per eseguire le operazioni desiderate. Ad esempio, è possibile modificare l'orchestrazione per inserire record in un'altra tabella se viene visualizzato un messaggio di notifica per un'operazione di inserimento nella tabella Employee. In questo caso, è possibile apportare modifiche appropriate all'interno della forma Decide.

Uno di questi scenari è illustrato in dettaglio nell'esercitazione 2: Employee - Purchase Order Process usando l'adapter SQL.

Vedere anche

Ricevere notifiche di query SQL tramite BizTalk Server