Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'adapter SQL consente ai client adapter di leggere e aggiornare i dati in colonne di tipi di dati di grandi dimensioni, vale a dire varchar(max), nvarchar(max) o varbinary(max). Per leggere i dati da tali colonne, i client adapter possono usare l'operazione Select. Per inserire o aggiornare i dati in tali colonne, l'adapter espone un'operazione Set<column_name> , dove <column_name> è il nome della colonna di tipo varchar(max), nvarchar(max) o varbinary(max).
Inoltre, in SQL Server 2008, è possibile che la colonna varbinay(max) archivi i dati non strutturati, ad esempio documenti di testo e immagini. Tali dati non strutturati sono denominati dati FILESTREAM. I dati FILESTREAM possono essere archiviati come file nel file system. L'adattatore SQL consente al client di immettere dati FILESTREAM in colonne di tipo varbinary(max). Per altre informazioni sull'archiviazione FILESTREAM, vedere Cenni preliminari su FILESTREAM.
In questo argomento vengono fornite informazioni su determinate attività che è necessario eseguire nel computer che esegue SQL Server e sul computer che esegue il client dell'adapter per poter inserire o aggiornare i dati FILESTREAM. In questo argomento vengono inoltre fornite istruzioni sull'esecuzione di operazioni set<column_name> per l'inserimento di dati FILESTREAM.
Annotazioni
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.
Prerequisiti
È necessario eseguire le attività seguenti nel computer che esegue SQL Server e nel computer che esegue il client dell'adapter.
Nel computer che esegue SQL Server
È necessario abilitare FILESTREAM nell'istanza di SQL Server. Per altre informazioni, vedere https://go.microsoft.com/fwlink/?LinkId=122486.
È necessario creare un database abilitato per FILESTREAM. Per altre informazioni, vedere https://go.microsoft.com/fwlink/?LinkId=122487.
È necessario disporre di una tabella per l'archiviazione dei dati FILESTREAM. Per altre informazioni, vedere https://go.microsoft.com/fwlink/?LinkId=122488.
È necessario configurare MSDTC nel computer che ospita il database di SQL Server. Per istruzioni su come configurare MSDTC, vedere Configurare MSDTC in SQL Server e sul client dell'adapter.
Nel computer che esegue il client dell'adattatore
È necessario che SQL Client Connectivity SDK sia installato. È possibile installare SQL Client Connectivity SDK eseguendo l'installazione di SQL Server 2008 e selezionando SQL Client Connectivity SDK nella pagina Selezione funzionalità della procedura guidata. L'adattatore usa il sqlncli10.dll, installato con SQL Client Connectivity SDK, per eseguire operazioni FILESTREAM.
È necessario configurare MSDTC nel computer che esegue il client dell'adapter. Per istruzioni su come configurare MSDTC, vedere Configurare MSDTC in SQL Server e sul client dell'adapter.
Dopo aver completato queste attività, tutti sono impostati per inserire o aggiornare i dati FILESTREAM nelle tabelle di database di SQL Server 2008.
Come questo argomento illustra le operazioni sui tipi di dati di grandi dimensioni
Per illustrare come eseguire operazioni Set<column_name> su tabelle con tipi di dati di grandi dimensioni, prendere una tabella, Records, che ha colonne Id e Document. La colonna ID è di tipo uniqueidentifier e accetta un GUID. La colonna Document è di tipo VARBINARY(MAX). Si supponga che la colonna ID abbia già un GUID '438B7B4C-5491-409F-BCC1-78817C399EC3'. Per aggiornare la colonna Document, l'adapter espone l'operazione SetDocument.
Annotazioni
Per SQL Server 2008, per illustrare le operazioni FILESTREAM, si supponga che la colonna Document possa archiviare dati FILESTREAM.
Come eseguire operazioni su un database di SQL Server
L'esecuzione di un'operazione su un database di SQL Server tramite l'adapter SQL con BizTalk Server prevede attività procedurali descritte in Blocchi predefiniti per sviluppare applicazioni BizTalk con l'adapter SQL. Per eseguire operazioni su tabelle con tipi di dati di grandi dimensioni, queste attività sono:
Creare un progetto BizTalk e generare lo schema per l'operazione Set<column_name>. Per questo argomento, generare lo schema per l'operazione SetDocument per la tabella Records .
Creare messaggi nel progetto BizTalk per l'invio e la ricezione di messaggi dal database di SQL Server.
Creare un'orchestrazione per richiamare l'operazione SetDocument nella tabella Records.
Compilare e distribuire il progetto BizTalk.
Configurare l'applicazione BizTalk creando porte di invio e ricezione fisiche.
Avviare l'applicazione BizTalk.
In questo argomento vengono fornite istruzioni per eseguire queste attività.
Esempio basato su questo argomento
Un esempio, FILESTREAMOperation, basato su questo argomento viene fornito con bizTalk Adapter Pack. Per altre informazioni, vedere Esempi per l'adapter SQL.
Generazione dello schema
Per illustrare come aggiornare i valori nelle colonne di tipi di dati di grandi dimensioni, generare lo schema per l'operazione SetDocument della tabella Records. È necessario creare un progetto BizTalk e usare il componente aggiuntivo Consume Adapter Service per generare lo schema. Per altre informazioni su come generare lo schema, vedere Recupero di metadati per operazioni di SQL Server in Visual Studio tramite l'adapter SQL .
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 il quale è definito dallo schema corrispondente. È ora necessario creare messaggi per l'orchestrazione e collegarli agli schemi generati nel passaggio precedente.
Per creare messaggi e collegarsi allo schema
Aggiungere un'orchestrazione al progetto BizTalk. In 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.
Aprire la finestra Visualizzazione dell'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.
In Visualizzazione orchestrazione fare clic con il pulsante destro del mouse su Messaggi e quindi scegliere Nuovo messaggio.
Fare clic con il pulsante destro del mouse sul messaggio appena creato e quindi scegliere Finestra Proprietà.
Nel riquadro Proprietà per il Message_1 eseguire le operazioni seguenti:
Usare questo Per farlo Identificatore Tipo RequestTipo di messaggio Nell'elenco a discesa espandere Schemi e quindi selezionare SetOperation.TableOperation_dbo_Records.SetDocument, dove SetOperation è il nome del progetto BizTalk. TableOperation_dbo_Records è lo schema generato per l'operazione SetDocument nella tabella Records. Ripetere il passaggio 2 per creare un nuovo messaggio. Nel riquadro Proprietà per il nuovo messaggio eseguire le operazioni seguenti:
Usare questo Per farlo Identificatore Tipo ResponseTipo di messaggio Nell'elenco a discesa espandere Schemi e quindi selezionare SetOperation.TableOperation_dbo_Records.SetDocumentResponse.
Configurazione dell'orchestrazione
È necessario creare un'orchestrazione BizTalk per usare BizTalk Server per eseguire un'operazione in 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 Send and Receive per inviare messaggi a SQL Server e per ricevere le risposte, rispettivamente. Un'orchestrazione di esempio per l'operazione SetDocument è simile alla seguente:
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à |
|---|---|---|
| RiceviMessaggio | Ricevere | - Impostare Nome su ReceiveMessage - Impostare Attiva su Vero |
| InviaMessaggio | Invia | - Impostare il nome su SendMessage |
| RiceviRisposta | Ricevere | - Impostare il nome su ReceiveResponse - Impostare Attivato su Falso |
| SendResponse | Invia | - 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.
| Porto | Proprietà |
|---|---|
| MessageIn | - Imposta Identifier su MessageIn - Imposta Tipo su MessageInType - Impostare il modello di comunicazione su unidirezionale - Impostare la direzione di comunicazione su Ricevi |
| LOBPort | - Impostare l'identificatore su LOBPort - Impostare il tipo su LOBPortType - Impostare il modello di comunicazione su Request-Response - Impostare la direzione di comunicazione su Send-Receive |
| ResponseOut | - Impostare l'identificatore su ResponseOut - Impostare il tipo su ResponseOutType - Impostare il modello di comunicazione su unidirezionale - Impostare la direzione di comunicazione su Send |
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 messaggio visualizzate nell'orchestrazione indicata in precedenza.
| Forma | Proprietà |
|---|---|
| RiceviMessaggio | - Imposta Messaggio su Richiesta - Impostare Operazione su MessageIn.FileStream.Request |
| InviaMessaggio | - Imposta Messaggio su Richiesta - Impostare Operazione su LOBPort.FileStream.Request |
| RiceviRisposta | - Impostare Messaggio a Risposta - Imposta l'operazione su LOBPort.FileStream.Response |
| SendResponse | - Impostare Messaggio a Risposta - Impostare l'operazione su ResponseOut.FileStream.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 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.
Mappatura 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 si rilascia 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 deposita il messaggio di risposta contenente la risposta dal database di SQL Server.
Definire un WCF-Custom fisico o una porta di trasmissione WCF-SQL per inviare messaggi al database di SQL Server. È inoltre necessario specificare l'azione nella porta di trasmissione. Per informazioni su come creare porte, vedere Configurare manualmente un'associazione di porte fisiche all'adapter SQL.
Importante
L'operazione per immettere i dati FILESTREAM deve essere eseguita all'interno di una transazione. Assicurarsi quindi che la proprietà di associazione UseAmbientTransaction sia impostata su True nella WCF-Custom o WCF-SQL porta di trasmissione. Per altre informazioni sulla proprietà di associazione, vedere Informazioni sulle proprietà di associazione dell'adapter BizTalk per SQL Server.
Importante
Per eseguire un'operazione per inserire dati FILESTREAM, è necessario usare sempre l'autenticazione di Windows per connettersi a SQL Server nella WCF-Custom o WCF-SQL porta di trasmissione. Quindi, nella scheda Credenziali della finestra di dialogo delle proprietà della porta selezionare l'opzione Non usare Single Sign-On e lasciare vuoto il nome utente e la password.
Annotazioni
La generazione dello schema tramite il componente aggiuntivo Consume Adapter Service BizTalk Project crea anche un file di associazione che contiene informazioni sulle porte e le azioni da impostare per tali porte. È possibile importare questo file di associazione dalla console di amministrazione di BizTalk Server per creare porte di trasmissione (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 eseguire l'operazione SetDocument nella tabella Records . 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 è attiva.
La porta di invio FILE per la ricezione dei messaggi di risposta dall'orchestrazione è attiva.
La porta di trasmissione WCF-Custom o WCF-SQL per inviare messaggi al database di SQL Server è in esecuzione.
L'orchestrazione BizTalk per l'operazione è in esecuzione.
Esecuzione dell'operazione
Dopo aver eseguito l'applicazione, è necessario inserire un messaggio di richiesta nella posizione di ricezione FILE. Lo schema per il messaggio di richiesta deve essere conforme allo schema per l'operazione SetDocument generata in precedenza. Ad esempio, il messaggio di richiesta per aggiornare la colonna Documento è:
<SetDocument xmlns="http://schemas.microsoft.com/Sql/2008/05/TableOp/dbo/Records">
<Filter>WHERE Id='438B7B4C-5491-409F-BCC1-78817C399EC3'</Filter>
<Data>UwBlAHQAdgBfAHYAYQByAGIAaQBuAGEAcgB5AE0AQQBYAA==</Data>
</SetDocument>
Importante
L'elemento Filter deve contenere la clausola WHERE in base alla quale l'adattatore aggiorna i record. L'elemento Data deve contenere un valore con codifica Base64 che si desidera inserire nella colonna Document.
Questo messaggio di richiesta aggiorna la colonna Document con il valore specificato. L'orchestrazione utilizza il messaggio e lo invia al database di SQL Server. La risposta dal database di SQL Server viene salvata nell'altro percorso FILE definito come parte dell'orchestrazione. Ad esempio, la risposta del database DI SQL Server per il messaggio di richiesta precedente è:
<?xml version="1.0" encoding="utf-8" ?>
<SetDocumentResponse xmlns="http://schemas.microsoft.com/Sql/2008/05/TableOp/dbo/Records" />
L'adattatore invia una risposta vuota per l'operazione Imposta<column_name>.
Migliori pratiche
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 trasmissione e le porte di ricezione per la stessa orchestrazione. Per altre informazioni sui file di associazione, vedere Riutilizzare le associazioni degli adattatori.